springMVC-数据的格式化
2016-02-28 22:28
447 查看
1.配置annotation-driven
2.在实体类上加上@NumberForma这样的注解
这样就可以了
* Spring在格式化模块中定义了一个实现ConversionService接口的
FormattingConversionService实现类,该实现类扩展了GenericConversionService
,因此它既具有类型转换的功能,有具有格式话的功能
* FormattingConversionServiceFactoryBean工厂类,后者用于在Spring上下
中构造前者
-FormattingConversionServiceFactoryBean内部已经注册了
NumberFormatAnnotationFormatterFactory:支持对数字类型的
属性使用@NumberFormat注解
-JodaDateTimeFormatterAnnotationFormatterFactory:支持对日期类型的属性使用
@DateTimeFormat注解
装备了FormattingConversionServiceFactoryBean后,就可以在SpringMVC入参
绑定及模型数据输出时使用注解驱动了<mvc:annotation-driven/>
默认创建的ConversionService实例即为
java.util.Calender.java.long.Long时间类型进行标注:
-pattern属性:类型为字符串,指定解析/格式化字段数据的模式,
如:"yyyy-MM-dd hh:mm:ss"
-iso属性:类型为DateTimeFormat.ISO.指定解析.格式化字段数据的ISO模式
,包括四种:ISO.NONE(不使用,)--默认.
ISO.DATE(yyyy-MM-dd)
ISO.TIME(hh:mm:ss.SSSZ).ISO.DATE(yyyt-MM-dd hh:mm:ss.SSSZ)
-style 属性:字符串类型,通过演示指定日期时间的格式,由两位字符组成,
第一位镖师日期的额格式化,第二位表式时间的格式,S:短日期/时间格式,
M:中日期/时间格式.L:长日期/时间格式.F完整日期/时间格式.
-忽略日期或者时间格式
之前配置了一个ConversionService,但是现在已经用不了了
但是可以换成org.springframework.format.support.FormattingConversionServiceFactoryBean
使用了这个之后既可以用自己的 可以用Spring的提供的格式化
现在考虑一个问题,如果出错了怎么办
使用BindingResult 注意BindingResult必须和他绑定的变量紧挨着
<mvc:annotation-driven ></mvc:annotation-driven>
2.在实体类上加上@NumberForma这样的注解
@NumberFormat(pattern="#,###,###.#") private Float price; @DateTimeFormat(pattern="yyyy-MM-dd") private Date productionDate;
这样就可以了
数据格式化
* 对属性对象的输入输出进行格式化,从其本质上讲依然属于"类型转换"的范畴* Spring在格式化模块中定义了一个实现ConversionService接口的
FormattingConversionService实现类,该实现类扩展了GenericConversionService
,因此它既具有类型转换的功能,有具有格式话的功能
* FormattingConversionServiceFactoryBean工厂类,后者用于在Spring上下
中构造前者
-FormattingConversionServiceFactoryBean内部已经注册了
NumberFormatAnnotationFormatterFactory:支持对数字类型的
属性使用@NumberFormat注解
-JodaDateTimeFormatterAnnotationFormatterFactory:支持对日期类型的属性使用
@DateTimeFormat注解
装备了FormattingConversionServiceFactoryBean后,就可以在SpringMVC入参
绑定及模型数据输出时使用注解驱动了<mvc:annotation-driven/>
默认创建的ConversionService实例即为
FormattinConversionServiceFactorybean
日期格式化
@DateTimeFormat注解可以对java.util.Date,java.util.Calender.java.long.Long时间类型进行标注:
-pattern属性:类型为字符串,指定解析/格式化字段数据的模式,
如:"yyyy-MM-dd hh:mm:ss"
-iso属性:类型为DateTimeFormat.ISO.指定解析.格式化字段数据的ISO模式
,包括四种:ISO.NONE(不使用,)--默认.
ISO.DATE(yyyy-MM-dd)
ISO.TIME(hh:mm:ss.SSSZ).ISO.DATE(yyyt-MM-dd hh:mm:ss.SSSZ)
-style 属性:字符串类型,通过演示指定日期时间的格式,由两位字符组成,
第一位镖师日期的额格式化,第二位表式时间的格式,S:短日期/时间格式,
M:中日期/时间格式.L:长日期/时间格式.F完整日期/时间格式.
-忽略日期或者时间格式
之前配置了一个ConversionService,但是现在已经用不了了
<!--配置ConversionService --> <bean id="conversionService" class="org.springframework.context.support.ConversionServiceFactoryBean"> <property name="converters"> <set> <ref bean="procuctConverter"/> </set> </property> </bean>
但是可以换成org.springframework.format.support.FormattingConversionServiceFactoryBean
使用了这个之后既可以用自己的 可以用Spring的提供的格式化
现在考虑一个问题,如果出错了怎么办
使用BindingResult 注意BindingResult必须和他绑定的变量紧挨着
public String saveProduct(@ModelAttribute Product product, BindingResult bindingResult, Model model) { if(bindingResult.getErrorCount() > 0) { System.out.println("出错了"); for(FieldError error : bindingResult.getFieldErrors()) { System.out.println(error.getField() +" : "+error.getDefaultMessage()); } } }
相关文章推荐
- java-tip-HashMap
- patest乙级真题1001. 害死人不偿命的(3n+1)猜想
- Java的Date使用
- 10 Java种如何获取某个日期是当月的最后一天
- java抽象
- 关于深入学习Java的方式和理解
- 自学 java 笔记 day3 (语言语法基础组成2)
- TIJ-绪论
- 算法代码实现之归并排序,Java实现,自顶向下与自底向上两种方式
- java垃圾回收是怎么回事
- 什么时候用 Java 自旋锁?
- Java正则表达式
- Data Structures And Problem Solving Using Java (Fourth Edition)中译版(Java static关键字)
- Java定时任务Timer的使用
- (转)java fail-fast机制
- Java ThreadLocal原理与源码
- java-笔记
- java.io.NotSerializableException错误解决方法
- 原生态JAVAEE酒店管理系统系列四
- Java入门:Java下载与安装方法