数据格式化:
即将 用户输入的 数据转换成正常的数据 , 如 string 换成 date。
配置之前:在对应的pojo类加入 变量 然后简单配置 jsp文件
跑起来 结果如下:
修改步骤如下;
在对应的pojo类写上注解:
然后在dispacher.xml 配置一个标签:
<mvc:annotation-driven />
跑起来结果:
页面正常 结果我是在控制台输出的:
对属性对象的输入/输出进行格式化,从其本质上讲依然
属于 “类型转换” 的范畴。
• Spring 在格式化模块中定义了一个实现
ConversionService 接口的
FormattingConversionService 实现类,该实现类扩展
了 GenericConversionService,因此它既具有类型转换的
功能,又具有格式化的功能
• FormattingConversionService 拥有一个
FormattingConversionServiceFactroyBean 工厂类,
后者用于在 Spring 上下文中构造前者
注意: 如果我自定义了一个 conversionService 如何避免和他默认的那个起冲突:
如下 原本的情况:
但是这样配置 我的 数据无法格式化了。会报错。
只需要改成这样:
把class 的路径换一下即可
class="org.springframework.format.support.FormattingConversionServiceFactoryBean">
补充:
如果发现数据不匹配了 怎么告知:
如下 在 handler 里面配置;
@RequestMapping(value = "/emp",method = RequestMethod.POST)
public String save(User user ,BindingResult result ){
System.out.println(user.toString());
if(result.getErrorCount()>0){
for(FieldError error:result.getFieldErrors()){
System.out.println(error.getField()+":"+error.getDefaultMessage());
}
}
userService.save(user);
return "redirect:/gotoList";
}
然后跑起来:
然后报错;