数据校验框架
来源:互联网 发布:上海整合网络推广 编辑:程序博客网 时间:2024/06/06 18:51
数据校验框架
1.JSR 303
SR 303是Java为Bean数据合法性校验所提供的标准框架,它已经包含在Java EE 6.0中。JSR 303通过在Bean属性上标注类似于@NotNull、@Max等标准的注解指定校验规则,并通过标准的验证接口对Bean进行验证。
你可以通过http://jcp.org/en/jsr/detail?id=303了解JSR 303的详细内容。
注 解
功能说明
@Null
被注释的元素必须为 null
@NotNull
被注释的元素必须不为 null
@AssertTrue
被注释的元素必须为 true
@AssertFalse
被注释的元素必须为 false
@Min(value)
被注释的元素必须是一个数字,其值必须大于等于指定的最小值
@Max(value)
被注释的元素必须是一个数字,其值必须小于等于指定的最大值
@DecimalMin(value)
被注释的元素必须是一个数字,其值必须大于等于指定的最小值
@DecimalMax(value)
被注释的元素必须是一个数字,其值必须小于等于指定的最大值
@Size(max, min)
被注释的元素的大小必须在指定的范围内
@Digits (integer, fraction)
被注释的元素必须是一个数字,其值必须在可接受的范围内
@Past
被注释的元素必须是一个过去的日期
@Future
被注释的元素必须是一个将来的日期
@pattern
验证注解的元素值与指定的正则表达式匹配
@DateTimeFormat(pattern=”yyyy-MM-dd”)
时间格式
加入依赖:
<!-- jsr 303验证 --> <dependency> <groupId>org.hibernate</groupId> <artifactId>hibernate-validator</artifactId> <version>4.3.2.Final</version></dependency>
2.@NotNull和@NotEmpty
@NotNull 属性名!=null
@NotEmpty 属性名!=null && !属性名.equals(“”)
3.后台验证步骤
1.javabeen添加验证注解 * 2.action中使用@valid表示javabean 使用Errors或者BindingResult判断是否检验失败 * 3.出现jar包冲突4.3.2版本注:在springmvc中使用标签和国际化都要spring的支持1.引入标签:<%@taglib uri="http://www.springframework.org/tags/form" prefix="form" %>2.配置显示错误注解<form:errors path="user.pass"></form:errors><!-- 路径=类名.属性名 -->3.编程式设置错误信息:@RequestMapping(value="/reg",method=RequestMethod.POST)public String reg(@ModelAttribute("user") @Valid UserInfo user,BindingResult error){//@ModelAttribute("user"):改变名称if(!user.getPass().equals(user.getRepass())){error.addError(new FieldError("user", "repass", "密码不一致"));//"user":对象;"repass":显示位置;"密码不一致":显示信息}}案例:实体类:@NotEmpty(message="用户名不能为空")private String userName;@NotEmpty(message="密码不能为空")private String pass;@NotEmpty(message="确认密码不能为空")private String repass;jsp页面: <form action="<%=path %>/reg" method="post"> 用户名 :<input type="text" name="userName"/> <font color="red"><form:errors path="user.userName"></form:errors></font><br/><br/> 密码 :<input type="text" name="pass"/><font color="red"> <form:errors path="user.pass"></form:errors></font><br/><br/>确认密码:<input type="text" name="repass"/><font color="red"> <form:errors path="user.repass"></form:errors></font><br/><br/></form> Controller层:@RequestMapping(value="/reg",method=RequestMethod.POST)public String reg(@ModelAttribute("user") @Valid UserInfo user,BindingResult error){if(!user.getPass().equals(user.getRepass())){error.addError(new FieldError("user", "repass", "密码不一致"));}}}
4.访问数据模型
springmvc中Model相关对象是处理和数据相关的对象 * @ModelAttribute 重命名 参数数据 * Model(ModelMap|Map)传递数据到视图(request,setAttribute) * ModelMap传递数据到视图 * ModelAndView绑定数据到视图(ModelMap用于传递数据View对象用于跳转)1.Map:@RequestMapping(value="/case",method=RequestMethod.GET)public String case1(Map map){map.put("sex", "model");return "lesson03/res.jsp";}2.ModelAndView:@RequestMapping(value="/case2",method=RequestMethod.GET)public ModelAndView case2(){ModelAndView model=new ModelAndView();model.setViewName("lesson03/res.jsp");model.addObject("sex","boy");return model;}在jsp页面中获取${requestScope.sex }3.访问数据模型:@ModelAttribute@SessionAttributes("user")@Controllerpublic class SessionController {//手动实例化@ModelAttribute("user")public User getUser(){User user=new User();return user;}/** * 请求转发 forward 不需要任何处理 * 请求重定向 redirect:使用SesionAttribute方式 用于在重定向中传值 * 将值存储在session中用完记得清除 * @param user * @return */@RequestMapping(value="/s1",method=RequestMethod.GET)public String case1(@ModelAttribute("user") User user){return "redirect:/s2";}@RequestMapping(value="/s2",method=RequestMethod.GET)public String case2(String id,Map map,HttpServletResponse response,SessionStatus status) throws IOException{User user=(User)map.get("user");response.getWriter().println(user.getId());status.setComplete();//清除return null;}}
- 数据校验框架
- Struts2中的数据校验(二[验证框架校验]) .
- struts2_大纲07_框架数据校验
- Struts 的数据校验和验证框架
- Struts 的数据校验和验证框架
- 数据对象安全校验(oval框架)
- Struts框架的数据校验类型
- springmvc利用validation框架实现数据校验
- Struts使用验证框架验证数据校验
- 使用SpringMVC数据验证框架validation做数据校验
- Tapestry的数据校验功能-修改框架初试
- Struts2.0 (开发之三)--数据校验框架--CTO
- 让框架自动校验引用数据不能被删除
- 【Struts框架】第一节Action-简单的数据校验
- 基于spark的大数据提取校验框架
- 用struts框架+正则表达式对数据进行校验
- SSH框架之Struts的数据校验(1)
- SSH框架之Struts的数据校验(2)
- 「mysql优化专题」这大概是一篇最好的mysql优化入门文章(1)
- 全世界合格的AI人才只有1万人左右,谷歌决定让AI写算法
- 入门 | 一文概览深度学习中的激活函数
- 政府大数据开放的安全保障
- 【机器学习调查】脏数据最棘手,逻辑回归最常用
- 数据校验框架
- 以字节流的形式读取文件
- 各种机器学习任务的顶级结果(论文)汇总
- 想成为一名数据科学家?你得先读读这篇文章
- Spring Boot 应用程序开发入门
- 机器学习应该准备哪些数学预备知识?
- jquery取值并将值返回到另一个HTML页面
- 一文读懂深度学习(附学习资源)
- 程序员必备的代码审查(Code Review)清单