web-dev-qa-db-ja.com

form:inputを使用したspring mvc日付形式

休止状態のエンティティと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"

私のURLに行くと、私は見る:

my form

強制的にmm/DD/yyyy形式にするにはどうすればよいですか?ありがとう

19

解決策は
<mvc:annotation-driven/>をmvc-dispatcher-servlet.xmlに、またxmlns:mvc = "http://www.springframework.org/schema/mvc"をxmlファイルの先頭に追加します。

7

Fmt:formatDate jstlタグを使用できます。

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

私のコードでは、この方法でバインダーを使用しています。

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