深入理解java虚拟机 jvm高级与佳三
87.8元
包邮
(需用券)
去购买 >
springmvc使用的是Hibernate Validator(和Hibernate的ORM无关)来完成校验功能
一.普通校验
1.导入jar包
2.编写校验错误配置文件
3.配置校验错误信息文件
classpath:ItemValidationMessages
4.配置校验器
5.将校验器注入到适配器中
6.类属性中定义规则
@Size(min=1,max=30,message="{item.itemname.length.erro}")privateString itemname;
@NotNull(message="{item.price.isNULL}")private Double price;
7.在controller中处理数据错误
/*1.在需要校验的pojo前边添加注解@Validated,在需要校验的pojo后面添加BindingResult bindingResult接收校验出错信息
注意:@Validated和BindingResult bindingResult是配对出现的,并且形参顺序是固定的(一前一后)
value={ItemGroup1.class}:指定使用ItemGroup1的分组校验*/@RequestMapping("/editItemSubmit")publicModelAndView editItemSubmit(HttpServletRequest request,@Validated(value={ItemGroup1.class}) ItemCustom itemCustom, BindingResult bindingResult) throwsException{//如果有错误
if(bindingResult.hasErrors()) {//获取错误信息
List allErrors =bindingResult.getAllErrors();
ModelAndView modelAndView= newModelAndView();//将错误信息传到jsp页面中
modelAndView.addObject("allErrors", allErrors);
modelAndView.setViewName("item/editItem");returnmodelAndView;
}
itemService.updateItem(itemCustom);
ModelAndView modelAndView = new ModelAndView("redirect:/item/queryItems.action");
return modelAndView;
}
8.测试
二.分组校验
分组校验其实就是为了我们的校验更加灵活,有的时候,我们并不需要把我们当前配置的属性都进行校验,而需要的是当前的方法仅仅校验某些的属性。那么此时,我们就可以用到分组校验了...
1.定义分组的接口【主要是标识】
2.定于校验规则属于哪一各组
groups:指定此校验属性属于哪个分组(接口)
@Size(min=1,max=30,message="{item.itemname.length.erro}",groups={ItemGroup1.class,ItemGroup2.class})privateString itemname;
@NotNull(message="{item.price.isNULL}",groups={ItemGroup2.class})private Double price;
3.在Controller方法中定义使用校验分组
红色部分:@Validated(value={ItemGroup1.class})
@RequestMapping("/editItemSubmit")publicModelAndView editItemSubmit(HttpServletRequest request,
@ModelAttribute("itemCustom") @Validated(value={ItemGroup1.class}) ItemCustom itemCustom, BindingResult bindingResult,MultipartFile item_pic) throws Exception{
原文链接:https://www.cnblogs.com/lyh233/p/12049876.html
java程序设计与数据结构(第4版)
116.1元
包邮
(需用券)
去购买 >