あるコントローラーから別のコントローラーに移動する必要があるため、1つのレンダリングメソッドを作成しました。
private static final String ACTION_SHOW_JUSTIFICANTE = "action=" + ServletContextKeys.SC_SHOW_JUSTIFICANTE;
@Autowired
private MyOtherController myOtherController;
@RequestMapping(params = ACTION_SHOW_JUSTIFICANTE)
public final String doRenderShow(ModelMap model, RenderRequest renderrequest, PortletSession portletSession) {
MyBean myBean = service.getBean();
model.addAttribute(ServletContextKeys.SC_BEAN, myBean);
return myOtherController.doRender(model, renderrequest);
}
他のコントローラーのrenderメソッド:
@RequestMapping(params = ACTION_MY_OTHER_CONTROLLER)
public final String doRender(ModelMap model, RenderRequest renderrequest) {
if (!model.containsAttribute(ServletContextKeys.SC_BEAN)) {
model.addAttribute(ServletContextKeys.SC_BEAN, new MyBean());
}
//Do some stuff..
return ServletContextKeys.SC_VIEW_PAGE;
}
正常に動作しますが、問題は、JSPでBean値を表示しようとしたときの日付のバインドに関するものです。
<form:input id="registerDate" size="10" styleClass="input" path="registerDate" readonly="${imputado}"/>
登録日は次の形式で表示されます:'Mon Oct 08 22:00:00 GMT 2012'代わりに必要なもの:' dd / MM / yyyy'
私はすでにinitBinderメソッドを定義しました:
@InitBinder
public final void initBinder(WebDataBinder binder) {
//Date
SimpleDateFormat dateFormat = new SimpleDateFormat("dd/MM/yyyy");
dateFormat.setLenient(false);
binder.registerCustomEditor(Date.class, new CustomDateEditor(dateFormat, true));
}
しかし、おそらくこの場合、私はそれを呼んでいません(他の通常の場合、実際には問題なく動作します)
この日付をフォーマットしてこの問題を修正する方法についてのアイデアはありますか?ありがとう!