如何使用portletPreferences

时间:2012-06-20 12:49:58

标签: java liferay portlet

我试图让portletPreferences在我的ConfigActionImpl中输入,如下所示:

public void processAction(PortletConfig arg0, ActionRequest arg1,
            ActionResponse arg2) throws Exception {
    String portletResource = ParamUtil.getString(arg1, "portletResource"); 
    final String newlink= ParamUtil.getString(arg1, "newlink");
    final PortletPreferences portletPreferences = 
    PortletPreferencesFactoryUtil.getPortletSetup(arg1, portletResource);
    portletPreferences.setValue("newlink", newlink);
    portletPreferences.store();        
    SessionMessages.add(arg1, arg0.getPortletName() + ".doConfigure");
}

我希望在第一次加载时显示默认首选项,如果需要则更改它。

我原以为是这样的:

protected String showView(ModelMap model, PortletRequest request) {
    preferences.getValue("newlink", monUrl);
}

这是我的portlet中唯一不起作用的部分,当我直接编写url时,网址很好。

然后,我在代码中使用monUrl。 我有一个空指针异常

我不太了解portletPreferences,发现什么都没有帮助我。

我只是想在我的变量中加载首选项并在之后使用它。

1 个答案:

答案 0 :(得分:4)

我自己找到了解决方法。

实际上我在showView中用这个“PortletPreferences首选项”替换了这个“PortletRequest请求”

和这个“preferences.getValue(”newlink“,monUrl);” “monUrl preferences.getValue(”newlink“,monUrl);”

    protected String showView(ModelMap model, PortletPreferences preferences) {


            monUrl = preferences.getValue("newlink", monUrl);   

}

它运作正常。