【问题标题】:Liferay 5.2.3 portlet configuration page issueLiferay 5.2.3 portlet 配置页面问题
【发布时间】:2012-12-24 16:18:21
【问题描述】:

我写了一个有自定义配置页面的portlet,这里是configuration-action-class:

public class ConfigurationActionImpl implements ConfigurationAction {

private static Logger log = Logger.getLogger(ConfigurationActionImpl.class);
private config conf=config.getInstance(); 
public String render(PortletConfig config, RenderRequest renderRequest, RenderResponse renderResponse) throws Exception {

    if(renderRequest.isUserInRole("administrator")){
        log.info("UserRole:::admin");
        return "/config.jsp";
    }else if(renderRequest.isUserInRole("guest")){
        log.info("UserRole:::guest");
    }else if(renderRequest.isUserInRole("power-user")){
        log.info("UserRole:::power-user");
        return "/config.jsp";
    }else if(renderRequest.isUserInRole("user")){
        log.info("UserRole:::user");
    }else{
        log.info("UserRole:::dafug");
    }
    return "/config.jsp?mode=guest";
}

public void processAction(PortletConfig config, ActionRequest actionRequest, ActionResponse actionResponse) throws Exception { 

    conf.Names.clear();
    String count = ParamUtil.getString(actionRequest, "count");
    String portletResource = ParamUtil.getString(actionRequest, "portletResource"); 
    PortletPreferences prefs = PortletPreferencesFactoryUtil.getPortletSetup(actionRequest, portletResource);
    String[] list=count.split("/");
    for(String a : list){
        if( a!=null&& !a.equals("")){
            String en = ParamUtil.getString(actionRequest,"En"+a);
            String pa = ParamUtil.getString(actionRequest,"Pa"+a);
            if(!en.equals("")&&!pa.equals("")){
                conf.Names.put(pa,en);
                log.info("word::"+en+"::::"+pa);
                prefs.setValue("En"+a,en);
                prefs.setValue("Pa"+a,pa);
            }else if(a!=null&& !a.equals("")){
                count=count.substring(0,count.lastIndexOf("/"+a))+count.substring(count.lastIndexOf("/"+a)+("/"+a).length());
            }

        }
    }
    prefs.setValue("count",count);
    prefs.store();
}
public void serveResource(ResourceRequest request, ResourceResponse response){
    log.info("HERE in conf");
}
}

这个类在点击return to full page后只运行了一次,portlet右上角的按钮不起作用,我无法再次进入配置页面! 并且从配置页面返回后,门户右上角的菜单栏也无法使用,除非我删除了我的 portlet 并且它们都将再次正常工作!

【问题讨论】:

    标签: liferay


    【解决方案1】:

    我解决了这个问题。 我的问题是首先我应该将所有更改为 我将我所有的 JQuery 代码都更改为 JavaScript,因为我使用的这些 JQuery 版本如何在这个版本的 Liferay (5.2.3) 中产生一些错误

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-08-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-04-03
      相关资源
      最近更新 更多