springmvc注解开发-validation校验-商品修改校验
来源:互联网 发布:java怎么保留三位小数 编辑:程序博客网 时间:2024/06/05 18:31
校验的理解
项目中,通常使用最多就是前段校验,比如页面中的js校验。对于安全要求较高点建议在服务端Handler进行校验。
服务端校验
控制层 Controller:校验页面请求参数的合法性。在服务端控制层Controller校验不区分客户端类型(浏览器,手机客户端,远程调用
)校验一致
业务层 Service(使用较多):主要校验关键业务参数。仅限于Service接口中使用的参数。
持久层Dao:一般不校验。
springmvc校验
springmvc使用Hibernate的校验框架validation(和Hibernate没有任何关系)
校验思路
页面提交请求参数,请求到Controller方法中,使用validation进行校验。如果校验出错、将错误信息展示到页面
具体需求
商品修改添加校验(商品名称长度,生产日期非空校验),如果校验出错,在商品修改界面显示错误信息
环境准备
添加Hibernate的校验框架validation所需要的jar
配置校验器
执行Handler是适配器执行,所以最终将校验器注入到处理器适配器中
在springmvc.xml配置文件中,加入如下校验器代码
对以上校验器代码进行分析:
<bean id="validator" class ="org.springframework.validation.beanvalidation.localvolidatorfactoryBean">指定校验器接口
<property name="providerClass" value="org.hibernate.validator.HibernateVolidator"/>指定Hibernate校验器
<property name="validationMessageSource" ref="messageSource"/>指定校验使用的资源文件。在文件中配置校验错误信息。如果
不指定默认使用classpath下的ValidationMessage.properties
<!--校验错误信息配置文件-->
<bean id="messageSource"
class="org.springframework.context.support.ReloadaableResourceBundleMessageSource">
<!--资源文件名-->
<property name="basenames">
<list>
<value>classpath:CustomValidationMessage(资源文件名)</value>
</list>
</proterty>
</bean>
配置好了validator,将valiator校验器加到处理器适配器中
在pojo中添加校验的规则
需要再itemsCustom.java中添加校验规则
message是提示校验出错的提示信息,要避免使用硬编码将提示信息写死,应该在校验信息配置文件中使用键值对的形式
定义提示错误信息:
在商品提交的时候对形参进行校验
在你需要校验的pojo前面添加@Validated注解,在你需要校验的pojo后边添加@BindingResult bindingResult接收校验出错信息
注意:@Validated和@BindingResult bindingResult是配对出现。并且形参顺序固定的一前以后
在页面显示校验错误信息
需要再Controller方法中将页面错误信息传到界面
需要计入Modle
页面显示错误信息
- springmvc注解开发-validation校验-商品修改校验
- springmvc(十七)springmvc注解开发-validation校验-商品修改校验
- springmvc注解开发-validation校验
- springmvc注解开发-validation校验-分组校验
- 【SpringMVC整合MyBatis】validation校验-商品修改校验
- SpringMVC教程--Validation校验
- SpringMVC—Validation校验
- springmvc使用校验框架validation校验
- 【SpringMVC整合MyBatis】validation校验-分组校验
- springMVC中validation校验案例
- springmvc校验注解
- springmvc注解开发-商品修改功能分析
- springmvc服务端校验hibernate validation配置
- springmvc使用Hibernate的校验框架validation
- springmvc利用validation框架实现数据校验
- springmvc使用hibernate-validation校验器异常
- springMVC注解方式的校验
- struts2开发中的validation校验问题解决
- 如何获取注册高德Key使用的SHA1值与包名?
- 设计模式之观察者模式
- MUI动态加载数据后,scrollToBottom无效的解决方案
- Android Application的写法二
- 五颗球
- springmvc注解开发-validation校验-商品修改校验
- leetcode 78 Subsets
- AsyncTask
- (通俗版)手机漫游的实现原理
- gdb-为程序设置运行的参数
- Android绘图基础之: Canvas 和 Paint
- C/C++ 多线程编程方法
- Poj 3009 Curling 2.0【Dfs】
- css3翻转后显示背部隐藏的元素的效果3D翻转效果- transform rotate backface-visibility