我需要从一个控制器导航到另一个控制器,所以我制作了一种渲染方法:
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));
}
但是,可能在这种情况下,我没有调用它(它实际上工作正常,在其他正常情况下)
任何想法如何格式化此日期并解决此问题..?谢谢!