springMVC-数据格式化

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验证与国际化

猜你喜欢

转载自blog.csdn.net/qq_36684207/article/details/135089485