springmvc校验,错误信息显示及数据回显
来源:互联网 发布:impacket python 编辑:程序博客网 时间:2024/06/15 07:50
springmvc使用hibernate的校验框架validation进行校验
校验思路:
页面提交请求的参数,请求到controller方法中,使用validation进行校验。如果校验出错,将错误信息展示到页面。
1, 环境准备
引入hibernate的校验框架validation所需要jar包
2, 配置文件
<!-- validator校验器注入到适配器 --> <mvc:annotation-driven conversion-service="conversionService" validator="validator"></mvc:annotation-driven> <!-- 校验器 --> <bean id="validator" class="org.springframework.validation.beanvalidation.LocalValidatorFactoryBean"> <!-- hibernate校验器 --> <property name="providerClass" value="org.hibernate.validator.HibernateValidator"></property> <!-- 指定存放校验信息的文件 --> <property name="validationMessageSource" ref="messageSource"></property> </bean><!-- 校验信息文件 --> <bean id="messageSource" class="org.springframework.context.support.ReloadableResourceBundleMessageSource" name="messageSource"> <!-- 文件路径 --> <property name="basenames"> <list> <value>classpath:messages</value> </list> </property> <!-- 资源文件编码格式 --> <property name="defaultEncoding" value="UTF-8"></property> <!-- 资源文件内容缓存时间 --> <property name="cacheSeconds" value="120"></property> </bean>
3, pojo中添加校验规则
package ssm.po;import javax.validation.constraints.Size;import org.hibernate.validator.constraints.NotBlank;public class Customer { private Integer cid; @NotBlank(message="{customer.name.valid}") private String name; @Size(min=11,max=11,message="{customer.phone.valid}") private String phone; }
4, 编写校验信息文件messages.properties
NotNull.date=日期不能为空customer.name.valid=请输入客户姓名customer.phone.valid=请输入有效的手机号
5, controller中捕获错误信息
//在需要校验的pojo前边添加@Validated,在需要校验的pojo后边添加BindingResult bindingResult接收校验出错信息 //注意:@Validated和BindingResult bindingResult是配对出现,并且形参顺序是固定的(一前一后)。 //@ModelAttribute("customer")可以进行数据回显,也就是数据提交后,如果出现错误,将刚才提交的数据回显到刚才的提交页面。@RequestMapping("/add") public String add(@Validated @ModelAttribute("customer") Customer customer,BindingResult bindingResult){ if(bindingResult.hasErrors()){// List<FieldError> errors=bindingResult.getFieldErrors();// model.addAttribute("customer", customer); return "customer/add"; } customerService.add(customer); return "redirect:list"; }
6, 页面显示错误信息
前台进行错误显示,可以使用springmvc自带的标签库,我这里混用了sf标签和html标签,做法不太可取,容易乱。
<%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8"%><%@taglib prefix="sf" uri="http://www.springframework.org/tags/form"%><!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8"><title>Insert title here</title></head><body> <sf:form action="${pageContext.request.contextPath }/customer/add" method="post" modelAttribute="customer"> <table> <TR> <td>客户姓名:</td> <td> <INPUT name="name" value="${customer.name }">*<sf:errors path="name"></sf:errors> </td> </TR> <TR> <td>联系方式:</td> <td> <INPUT name="phone" value="${customer.phone }">*<sf:errors path="phone"></sf:errors> </td> </TR> <tr> <td rowspan=2> <INPUT class=button id=sButton2 type=submit value=" 添加 " name=sButton2> </td> </tr> </sf:form> </table></body></html>
如果我们要使用@Validate进行验证,并且需要在前台通过sf:error来显示错误信息,那么我们一定要用sf:form,并且设置modelAttribute=”customer”,它的属性值,必须为小写的类型名 ,表单中的其他标签是否使用 sf: 都可以。
7,页面显示如下
阅读全文
0 0
- springmvc校验,错误信息显示及数据回显
- springmvc数据的格式化及数据校验
- SpringMVC数据校验及访问数据模型
- 5、springMVC的校验和数据回显
- struts2 校验框架 错误信息自定义显示
- springmvc的数据校验
- SpringMVC 数据校验
- SpringMVC 数据校验
- SpringMVC的数据校验
- SpringMVC数据校验
- SpringMVC数据校验
- springmvc中的数据校验
- SpringMVC数据校验
- SpringMVC的数据校验
- SpringMVC数据校验
- SpringMVC数据校验(三)
- springmvc数据校验
- 三.SpringMVC 数据校验
- Java中多行代码进行try catch操作
- centos和hadoop环境下搭建hbase
- 继承
- 如何将idea的maven项目导入eclispemaven中
- 全屏插件和jQuery元素大小调整插件
- springmvc校验,错误信息显示及数据回显
- 码率,分辨率,帧率 ...
- MongoDB学习笔记
- 入门训练 圆的面积
- 牛客练习赛6 D 世界上最可爱的珂朵莉
- 【caffe学习笔记二】学习搭建自己的网络 MNIST 在 caffe 上进行训练与学习
- 关于printf和scanf函数的返回值
- Codeforces Round #400 (Div. 1 + Div. 2, combined) 776A A Serial Killer
- python使用