我正在尝试设置 portlet 首选项,而不涉及 portlet.xml。
这是我的小门户:
-myportletclass
-myportletjsp
-myconclass
-myconfjsp
当我单击首选项时,我可以看到 confjsp,它显示了我的首选项的表单。而且,当我提交它时,将首选项设置为表单中的值。
但是我没有任何默认值,没有修改portlet.xml。
我应该添加什么以及在哪里添加?
我看到有些人在配置类的渲染中这样做,但它并没有按照他们的方式工作。
问候。谢谢你。
编辑:我设置偏好的方式:
首先,我有一个简单的表单,我的 conf jsp,基本的,不需要添加它;然后,我有 ConfController :
@Controller
@RequestMapping("EDIT")
public class ConfigurationController {
@ModelAttribute("validatePref")
public ValidatePrefForm getValidatePrefForm() {
ValidatePrefForm form = new ValidatePrefForm();
return form;
}
@ActionMapping(params = "action=validatePref")
public void processAction(@ModelAttribute("validatePref") ValidatePrefForm form,
PortletPreferences portletPreferences, ActionResponse response)
throws Exception {
String mylink = form.getMylink();
if (null != mylink && !mylink .equals("")) {
portletPreferences.setValue("mylink ", mylink );
}
portletPreferences.store();
}
@RenderMapping
public String render() throws Exception {
return "myportletjsp.jsp";
}
}
然后,在我的 portlet 中,我有这个来获取值:
mylink= preferences.getValue("mylink", mylink);
if(null==mylink){
mylink= mydefaultUrl;
}
然后我可以使用 mylink