portlet.xml に触れずに、ポートレットの設定をしようとしています。
ここに私のポートレットがあります:
-myportletclass
-myportletjsp
-myconclass
-myconfjsp
設定をクリックすると、confjsp が表示され、設定のフォームが表示されます。そして、送信するときに、設定をフォームの値に設定します。
しかし、portlet.xml を変更しない限り、デフォルト値はありません。
何をどこに追加すればよいですか?
構成クラスのレンダリングで一部の人がそれを行うのを見ましたが、彼らのやり方では機能しません。
よろしく。ありがとうございました。
編集:私の好みを設定する方法:
まず、単純なフォーム i my conf jsp、basic、追加する必要はありません。次に、私は 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";
}
}
そして、私のポートレットでは、値を取得するためにこれを持っています:
mylink= preferences.getValue("mylink", mylink);
if(null==mylink){
mylink= mydefaultUrl;
}
そして、私はmylinkを使うことができます