20

我有休眠实体和一个bean:

@Entity
public class GeneralObservation {
    @DateTimeFormat(pattern = "dd/MM/yyyy")
    Date date;

    @Column
    public Date getDate() {
        return date;
    }

    public void setDate(Date date) {
        this.date = date;
    }
}

我也有

@InitBinder
protected void initBinder(WebDataBinder binder) {
    SimpleDateFormat dateFormat = new SimpleDateFormat("dd/MM/yyyy");
    binder.registerCustomEditor(Date.class, new CustomDateEditor(
            dateFormat, false));
}

        form:input
                id = "datepicker"
                name="date"
                itemLabel="date"
                path="newObservation.date"

当我转到我的网址时,我看到:

我的表格

如何强制它具有 mm/DD/yyyy 格式?谢谢

4

4 回答 4

23

您可以使用 fmt:formatDate jstl 标签:

<fmt:formatDate value="${yourObject.date}" var="dateString" pattern="dd/MM/yyyy" />
<form:input path="date" value="${dateString} .. />
于 2013-08-11T15:13:52.863 回答
8

解决方案是将
<mvc:annotation-driven/> mvc-dispatcher-servlet.xml 和 xmlns:mvc="http://www.springframework.org/schema/mvc" 放到 xml 文件的开头。

于 2013-09-08T16:46:50.210 回答
5

在我的代码中,我以这种方式使用活页夹:

@InitBinder
public void initBinder(WebDataBinder binder) {
    SimpleDateFormat dateFormat = new SimpleDateFormat("dd/MM/yyyy");
    dateFormat.setLenient(false);
    binder.registerCustomEditor(Date.class, new CustomDateEditor(dateFormat, true));
}
于 2013-08-20T08:12:32.120 回答
-2

在 HTML5 中有输入 type="date",在 Spring 中也是一样的(Chrome、Opera,我也是这个 Safary,但在 Firefox 中还没有

<form:input type="date" ... >
于 2014-01-24T23:00:38.253 回答