Spring4:具有Java 8 Date-Time API的@DateTimeFormat
在Spring 3.0中作為Formatter SPI的一部分引入的@DateTimeFormat批注可用于解析和打印Web應用程序中的本地化字段值。 在Spring 4.0中, @DateTimeFormat批注可以直接與Java 8 Date-Time API( java.time )一起使用。
在Spring中,可以通過字段類型或注釋來配置字段格式。 要將注釋綁定到格式化程序,必須實現AnnotationFormatterFactory 。 Spring 4.0 Jsr310DateTimeFormatAnnotationFormatterFactory了Jsr310DateTimeFormatAnnotationFormatterFactory ,該Jsr310DateTimeFormatAnnotationFormatterFactory格式化了以@DateTimeFormat注釋的Java 8 Date-Time字段。 支持的字段類型如下:
- java.util.LocalDate
- java.util.LocalTime
- java.util.LocalDateTime
- java.util.ZonedDateTime
- java.util.OffsetDateTime
- java.util.OffsetTime
可以采用以下形式使用所有提到的類型:
public class DatesForm {@DateTimeFormat(iso = ISO.DATE)private LocalDate localDate;@DateTimeFormat(iso = ISO.TIME)private LocalTime localTime;@DateTimeFormat(iso = ISO.TIME)private OffsetTime offsetTime;@DateTimeFormat(iso = ISO.DATE_TIME)private LocalDateTime localDateTime;@DateTimeFormat(iso = ISO.DATE_TIME)private ZonedDateTime zonedDateTime;@DateTimeFormat(iso = ISO.DATE_TIME)private OffsetDateTime offsetDateTime;}表單可以傳遞給視圖,Spring會照顧字段的正確格式。
在類型字段上指定格式時: java.util.LocalDate , java.util.LocalTime , java.util.OffsetTime您需要記住正確配置@DateTimeFormat 。
@DateTimeFormat聲明字段應設置為日期時間,并且因為java.util.LocalDate表示日期,而其他兩個表示時間–您將獲得java.time.temporal.UnsupportedTemporalTypeException (例如:不支持的字段:ClockHourOfAmPm,不支持字段:java.time.format.DateTimeFormatter拋出的java.time.format.DateTimeFormatter 。
翻譯自: https://www.javacodegeeks.com/2014/06/spring-4-datetimeformat-with-java-8-date-time-api.html
總結
以上是生活随笔為你收集整理的Spring4:具有Java 8 Date-Time API的@DateTimeFormat的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 文档网络怎么设置(文档网络怎么设置44行
- 下一篇: 在Java中对Singleton类进行双