springmvc之数据的格式化
时间:2022-07-23
本文章向大家介绍springmvc之数据的格式化,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
当提交时,数据的格式化和转换是一起发生的,我们在前端输入的时间数据需要转换成springmvc里面的对象的类型的格式,不然会报:
首先在sprinbmvc配置文件里面添加:
<mvc:annotation-driven></mvc:annotation-driven>
然后可以在相应属性上指定格式:
@DateTimeFormat(pattern="yyyy-mm-dd")
private Date birth;
此时再提交,就不会报4o4了,在控制台可以看到:
数据格式化:
- 对属性对象的输入/输出进行格式化,从其本质上来说就是类型转换。
- spring在格式化模块中定义了一个实现ConversionService接口的实现类,该实现类扩展了GenericConversionService,因此它既有类型转换的功能,又有格式化的功能。
- FormattingConversionService拥有一个FormattingConversionServiceFactoryBean工厂类,后者用于在spring上下文中构造前者。
- FormattingConversionServiceFactoryBean内部已经注册了:NumberFormatAnnotationFormatterFactory用于对数字类型属性使用NumberFormat注解,JodaDateTimeFormatAnnotationFormatterFactory用于对时间属性使用@DateTimeFormat注解。
- 装配了FormattingConversionServiceFactoryBean后,就可以在springmvc入参绑定及模型数据输出时使用注解驱动了。<mvc:annotation-driver>默认创建的ConversionService实例即为FormattingConversionServiceFactoryBean。
- @DateTimeFromat可对java.util.Date、java.util.Calendar和java.long.Long时间类型进行标注。
如果格式化失败,我们可以这么写:
@RequestMapping(value="/emp",method=RequestMethod.POST)
public String save(Employee employee, BindingResult result) {
System.out.println("save-->"+employee);
if (result.getErrorCount()>0) {
System.out.println("出错了");
for(FieldError error:result.getFieldErrors()) {
System.out.println(error.getField()+":"+error.getDefaultMessage());
}
}
employeeDao.save(employee);
return "redirect:/emps";
}
可以利用BindingResult来接受格式化错误消息,进行下一步处理。
- java教程
- Java快速入门
- Java 开发环境配置
- Java基本语法
- Java 对象和类
- Java 基本数据类型
- Java 变量类型
- Java 修饰符
- Java 运算符
- Java 循环结构
- Java 分支结构
- Java Number类
- Java Character类
- Java String类
- Java StringBuffer和StringBuilder类
- Java 数组
- Java 日期时间
- Java 正则表达式
- Java 方法
- Java 流(Stream)、文件(File)和IO
- Java 异常处理
- Java 继承
- Java 重写(Override)与重载(Overload)
- Java 多态
- Java 抽象类
- Java 封装
- Java 接口
- Java 包(package)
- Java 数据结构
- Java 集合框架
- Java 泛型
- Java 序列化
- Java 网络编程
- Java 发送邮件
- Java 多线程编程
- Java Applet基础
- Java 文档注释