2012-12-23 78 views
0

我寫了定製的conf頁這裏是配置,動作類門戶:5.2.3 Liferay的Portlet配置頁面問題

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"); 
} 
} 

該類點擊回到完整頁面後能正常工作僅一次,位於Portlet右下角的按鈕不起作用,我無法再次進入配置頁面! 並且從配置頁返回後,門戶右上角的菜單欄也不起作用,除非我刪除了我的portlet,並且所有這些portlet都能正常工作!

回答

0

我解決了這個問題。 我的問題是,首先我應該全部更改爲 ,並且將所有JQuery代碼更改爲JavaScript,因爲我使用的這些版本的JQuery會如何在此版本的Liferay中生成一些錯誤(5.2.3)