0

我需要从一个控制器导航到另一个控制器,所以我制作了一种渲染方法:

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));
}

但是,可能在这种情况下,我没有调用它(它实际上工作正常,在其他正常情况下)

任何想法如何格式化此日期并解决此问题..?谢谢!

4

1 回答 1

0

是我的错!抱歉,代码没问题。问题是 initBinder 仅在其中一个控制器中定义。

于 2012-12-18T17:47:02.283 回答