1、基本介绍
在一个springmvc项目中,当表单提交数据时,如何对表单提交的数据进行格式的转换呢?
只要是数据进行网络传输都是以字符串的形式,进入内存后才有数据类型。
springmvc在上下文环境内置了一些转换器,可以完成基本数据类型和字符串的转换比如
这些都是由springMVC自动完成,不需要程序员去写。
2、基本数据格式转换的案例
可以看到id 这个字符串自动转成了Integer,
现在故意把id的值改为abc
那么会报400的错误。
3、特殊数据类型的转换案例
假设有字段需要特殊的格式,可以按照以下示例来写
1、直接在javaBean的属性上写上springMVC提供的注解
public class MonsterOne {private Integer id;private String name;//通过注解,说明生日时间的格式为yyyy-MM-dd@DateTimeFormat(pattern = "yyyy-MM-dd")private Date birthday;//通过注解,说明工资的格式为###,##.##(即小数)@NumberFormat(pattern = "###,##.##")private float salary;
@Controller
@RequestMapping(value = "/monster")
public class MonsterHandler {@RequestMapping(value = "/monster01")public String monster01(MonsterOne monsterOne){System.out.println(monsterOne);return "monsterOK";}
}
2、这样就要求前端必须要按照后端注解规定的格式写
<form action="monster/monster01" method="post">id:<input type="text" name="id"><br>name:<input type="text" name="name"><br>birthday:<input type="text" name="birthday"><br>salary:<input type="text" name="salary"><br><input type="submit" name="提交">
</form>
3、如果格式没有对应上后端的注解格式, 那么会报400错误。
4、如何使得springMVC可以自动显示错误在页面上,看下一个文章 springMVC验证与国际化