【SSM】SSM之SpringMVC框架:数据格式化

@DateTimeFormat:

@DateTimeFormat注解可对java.util.Date、java.util.Calendar、java.long.Long时间类型进行标注:

  • pattern 属性:类型为字符串。指定解析/格式化字段数据的模式,如:yyyy-MM-ddhh:mm:ss
  • ISO属性:指定解析/格式化字段数据的ISO模式,包括四种:ISO.NONE(默认值,不使用)、ISO.DATE(yyyy-MM-dd) 、ISO.TIME(hh:mm:ss.SSSZ)、ISO.DATE_TIME(yyyy-MM-ddhh:mm:ss.SSSZ)
  • style 属性:字符串类型。通过样式指定日期时间的格式,由两位字–符组成,第一位表示日期的格式,第二位表示时间的格式:S:短日期/时间格式、M:中日期/时间格式、L:长日期/时间格式、F:完整日期/时间格式、-:忽略日期或时间格式

@NumberFormat:

@NumberFormat可对类似数字类型的属性进行标注,它拥有两个互斥的属性:

  • pattern属性:自定义样式,如patter="#,###";
  • style属性:指定样式类–型,包括三种:Style.NUMBER(正常数字类型)、Style.CURRENCY(货币类型)、Style.PERCENT(百分数类型)

附:

上篇博客数据类型转换器有人觉得实在是太麻烦了,为了将一个String类型的数据转换为Date类型,还要创建一个类、实现接口方法、还得在Spring的xml文件中配置那么多东西。没错,这个人正是在下!其实上一篇博客介绍的那么多自定义类型转换器的步骤最终实现的效果完全可以用一个小小的数据格式化注解@DateTimeFormat来实现。用法也及其简单,只需要将其添加在pojo的属性或者处理器方法的对应参数前,并为其指定pattern即可。
但是数据格式化标签与自定义数据类型转换器同时使用时会报错,使用自定义类型转换器时需要通过org.springframework.context.support.ConversionServiceFactoryBean的converters属性注册该类型转换器,此时 默认创建的ConversionService不再实例化org.springframework.format.support.DefaultFormattingConversionService对象,而是org.springframework.core.convert.support.DefaultConversionService对象,但该对象无法使用@DateTimeFormat和@NumberFormat注解。
为了解决这一问题需要将org.springframework.context.support.ConversionServiceFactoryBean替换成org.springframework.context.support.FormattingConversionServiceFactoryBean。

你可能感兴趣的:(SSM,java,spring,数据格式化,SSM)