前台表单我们经常会输入 日期和数字,但是系统默认的格式,有时候不符合我们的要求,例如我们希望日期是(2019-11-15)格式输入的。这时候就可以用到 数据格式化的内容了。
1.xml配置
<bean id="conversionService" class="org.springframework.format.support.FormattingConversionServiceFactoryBean"></bean>
2.给需要格式化的属性 加注解
@DateTimeFormat(pattern ="yyyy-MM-dd" )//格式化前端来的数据,例如输入2019-11-15
private Date birthday;//2018-7-20
前台:
<form action="testDateTimeFormat" >
id: <input type="hidden" name="id" value="31"/>
name:<input type="text" name="name" />
birthday:<input type="text" name="birthday"/>
<input type="submit" value="修改">
</form>
后台:
//数据格式化
@RequestMapping("testDateTimeFormat")//格式化出错,则传入BindingResult
public String testDateTimeFormat(Student student,BindingResult result) {
System.out.println(student.getId()+","+student.getName()+","+student.getBirthday());
if(result.getErrorCount()>0)
{
for( FieldError error :result.getFieldErrors())
{
System.out.println(error.getDefaultMessage());//打印错误信息
}
}
return "view/success";
}
输入输出:
正确的输入
错误的输入