簡體   English   中英

將日期值從一個控制器綁定到另一個:Spring MVC

[英]Binding date values from one controller to another: Spring MVC

我需要從一個控制器導航到另一個控制器,所以我做了一個渲染方法:

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}"/>      

注冊日期以以下格式顯示:“ 2012年10月8日星期一格林尼治標准時間”,而不是需要的日期:“ 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));
}

但是,可能在這種情況下,我沒有調用它(在其他正常情況下,它實際上可以正常工作)

有什么想法可以格式化日期並解決此問題嗎? 謝謝!

這都是我的錯! 抱歉,代碼還可以。 問題是initBinder僅在其中一個控制器中定義。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM