- 1.springmvc在上下文环境内置了一些转换器,可以完成基本数据类型和字符串的转换比如:
-
基本数据类型可以和字符串之间自动完成转换
-
如果转换失败,默认给出400的提示错误,这样我们需要处理 , 不能只是依靠默认的转换机制(如果错误如何友好提示,马上就说.)
-
-
- 特殊数据类型的转换案例
-
我们的Monster中有birthday 属性,工资 salary 这时我们需要给这些属性添加注解。
目前我们通过基本的转换和通过注解可以指定属性输入时的字符串格式,如果没有按照规定填写,则会转换失败,并给出400错误.
- 验证以及国际化 解决页面404 提示友好信息
3JSR303提供了很多注解,通过在javabean/entity属性上写明注解就可以实现验证
- 1.Hibernate validator 是在JSR 303的基础上的一个扩展,你可以认为是增加了一些实用的注解.
- 2.Hibernate validator 和 Hibernate没有关系
hibernate-validator-5.0.0.CR2\dist\lib\required
- (3)把 el-api-2.2.jar、javax.el-2.2.4.jar、javax.el-api-2.2.4.jar 复制到 tomcat 的 lib 目录下, 且把 lib 目录下的原来的 el-api.jar 移除, 注意一定删除tomcat原来的 el-api.jar 否则会有包冲突的问题
- 2.在需要的各个pojo 类型的javabean的字段上加上需要的验证注解
- 1. @Valid 注解之后, 添加一个 Errors 或 BindingResult 类型的参数, 可以获取到验证的错误信息,即在目标方法的某个javabean上指定需要验证的注解.
使用标签取出错误信息.
- 1.配置错误信息的国际化
-
在springMVC的配置文件中,指定国际化资源的文件名和相关的处理bean
- 1.编写国际化资源文件 src/i18n.properties,配置错误信息
配置错误信息的规则如下: 【配置的信息的规则???????】
- (1)如果配置的是验证错误,比如NotEmpty
规则: 验证规则.表单modelAttribute值.属性名=消息信息
比如: NotEmpty.monster. monsterName=名字不能为空
- (2)如果配置的是类型不匹配的错误,比如生日格式不对.
规则: typeMismatch.表单modelAttribute值.属性名=消息信息
比如: typeMismatch.monster.birthday=生日格式不正确
如果你取消了某个属性的绑定,那么即使用户提交这个属性值,比如monsterName,那么在后台接收到monsterName也是null.
当某个javabean的属性取消绑定,则该属性验证规则也要去掉,否则通不过.