spring mvc 绑定对象 并进行校验
来源:互联网 发布:詹姆斯各项数据排名 编辑:程序博客网 时间:2024/06/05 04:37
众所周知,Spring Mvc可以对表单里传到后台的数据进行自动的封装(前提是遵循一定的规则),现在可以将spring里面的一些方法做一个合并,形成一个新的方法,使其达到接收并封装表单数据、完成数据校验、若有错时返回错误原因等作用,现将代码贴出来,欢迎大家交流指正:
abstract public class BaseController extends MultiActionController {
。。。。。。
/**
* 从Request中绑定对象并进行校验. Spring MVC中的Bind函数未完全符合需求,因此参考原代码进行了扩展
*
* @return 校验错误
*/
protected BindingResult bindObject(HttpServletRequest request, Object command) throws Exception {
Assert.notNull(command);//这里的command通常是实体对象
// 创建Binder
ServletRequestDataBinder binder = createBinder(request, command);
// 回调函数,供子类扩展对binder做出更进一步设置,并进行不能由binder自动完成的绑定,可忽略这一步
preBind(request, command, binder);
// 绑定
binder.bind(request);
// 校验
Validator[] validators = getValidators();
if (validators != null) {
for (Validator validator : validators) {
if (validator.supports(command.getClass())) {
ValidationUtils.invokeValidator(validator, command, binder.getBindingResult());
}
}
}
return binder.getBindingResult();
}
}
通过上面的方法,便可以完成将表单数据封装到一个对象(通常称为绑定数据),并且完成校验,如果在校验的过程中出现了错误,错误信息会保存在BindingResult对象里面,通过调用它的xxx.hasErrors()方法,可以判断数据校验时是否出错了。
欢迎大家多交流!
- spring mvc 绑定对象 并进行校验
- spring mvc 绑定两个对象进行表单提交
- Spring绑定请求参数或PathVariable参数到对象,并做使用@Valid做JSR303校验
- spring mvc绑定对象String转Date
- spring mvc绑定对象String转Date
- spring mvc绑定对象String转Date
- spring mvc绑定对象String转Date
- Spring MVC 数据绑定多个对象
- spring mvc绑定对象String转Date
- Spring MVC 学习笔记 十 使用jsr 303进行校验
- spring mvc数据校验
- SPring MVC 表单校验
- spring mvc 校验
- Spring MVC 数据校验
- spring mvc 校验框架
- Spring MVC分组校验
- 【spring MVC】数据校验
- spring MVC JSR303校验
- Python crawler(一):urllib的三种下载网页方法
- 欢迎使用CSDN-markdown编辑器
- 基于LVM快照mysql备份
- 1-DOM对象模型+事件(+note)
- 关于android新手引导的开源使用
- spring mvc 绑定对象 并进行校验
- 2016年度总结
- 很久很久前初学Java时的笔记--集合操作2
- git 退回操作
- java调用webservice WSDL形式接口之apache axis方式调用(一)
- 很久很久前初学Java时的笔记--内部类
- Kafka学习,官网笔记(1)~
- spring bean的生命周期(4)
- R与ArcGIS连接的R语言包“arcgisbinding”