2

我正在尝试将 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 时,url 加载良好。

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

我不太了解 portletPreferences 并且发现没有什么可以帮助我。

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

4

1 回答 1

4

我自己找到了解决方法。

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

还有这个“preferences.getValue("newlink", monUrl);" 通过“monUrl 首选项.getValue(“newlink”,monUrl);”

    protected String showView(ModelMap model, PortletPreferences preferences) {


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

}

它工作正常。

于 2012-06-20T13:39:19.963 回答