spring mvc date format with form:input

时间:2013-08-10 15:30:07

标签: java spring spring-mvc jpa jstl

我有hibernate实体和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"

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

my form

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

4 个答案:

答案 0 :(得分:23)

您可以使用fmt:formatDate jstl tag:

<fmt:formatDate value="${yourObject.date}" var="dateString" pattern="dd/MM/yyyy" />
<form:input path="date" value="${dateString} .. />

答案 1 :(得分:7)

解决方案是放上 <mvc:annotation-driven/> 至 MVC-调度-servlet.xml中 还有xmlns:mvc =“http://www.springframework.org/schema/mvc” 到xml文件的开头。

答案 2 :(得分:4)

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

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

答案 3 :(得分:0)

在HTML5中有输入类型=“日期”,春天也是一样(Chrome,Opera和我这个Safary,但还没有在Firefox中

<form:input type="date" ... >