springmvc validator

来源:互联网 发布:影子网络怎么进入 编辑:程序博客网 时间:2024/04/30 15:57

Student.java

public class Student {private int id;private String name;private int age;public int getId() {return id;}public void setId(int id) {this.id = id;}public String getName() {return name;}public void setName(String name) {this.name = name;}public int getAge() {return age;}public void setAge(int age) {this.age = age;}}

web.xml

<?xml version="1.0" encoding="UTF-8"?><web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" id="WebApp_ID" version="2.5">  <servlet> <servlet-name>doError</servlet-name> <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> <load-on-startup>1</load-on-startup> </servlet> <servlet-mapping> <servlet-name>doError</servlet-name> <url-pattern>/</url-pattern> </servlet-mapping> </web-app>
doError-servlet.xml

<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/beans"    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"    xmlns:context="http://www.springframework.org/schema/context"    xmlns:mvc="http://www.springframework.org/schema/mvc"    xsi:schemaLocation="http://www.springframework.org/schema/beans     http://www.springframework.org/schema/beans/spring-beans-2.5.xsd        http://www.springframework.org/schema/context         http://www.springframework.org/schema/context/spring-context-3.0.xsd        http://www.springframework.org/schema/mvc         http://www.springframework.org/schema/mvc/spring-mvc-3.0.xsd  ">               <context:component-scan base-package="com.imut"/>              <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">       <property name="prefix" value="/WEB-INF/jsp/"/>       <property name="suffix" value=".jsp"/>       </bean>              <bean id="studentValidator" class="com.imut.StudentValidator" />       </beans>

StudentValidator.java

import org.springframework.validation.Errors;import org.springframework.validation.ValidationUtils;import org.springframework.validation.Validator;public class StudentValidator implements Validator{@Overridepublic boolean supports(Class<?> clazz) {return Student.class.isAssignableFrom(clazz);}@Overridepublic void validate(Object target, Errors errors) {ValidationUtils.rejectIfEmpty(errors, "name", "required.name", "Field name is required.");ValidationUtils.rejectIfEmpty(errors, "age", "required.age", "Field age is required.");}

StudentConroller.java

@Controllerpublic class StudentController { @Autowired   @Qualifier("studentValidator")   private Validator validator;   @InitBinder   private void initBinder(WebDataBinder binder) {      binder.setValidator(validator);   }   @RequestMapping(value = "/addStudent", method = RequestMethod.GET)   public ModelAndView student() {      return new ModelAndView("addStudent", "command", new Student());   }   @ModelAttribute("student")   public Student createStudentModel() {      return new Student();   }   @RequestMapping(value = "/addStudent", method = RequestMethod.POST)   public String addStudent(@ModelAttribute("student") @Validated Student student,       BindingResult bindingResult, Model model) {      if (bindingResult.hasErrors()) {         return "addStudent";      }      model.addAttribute("name", student.getName());      model.addAttribute("age", student.getAge());      model.addAttribute("id", student.getId());      return "result";   }}
addStudent.jsp

<%@ page language="java" contentType="text/html; charset=utf-8"    pageEncoding="utf-8"%><%@ taglib prefix="form" 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>Spring MVC 表单错误处理</title></head><style>.error {    color: #ff0000;}.errorStyle {    color: #000;    background-color: #ffEEEE;    border: 3px solid #ff0000;    padding: 8px;    margin: 16px;}</style><body><form:form action="/DoError/addStudent" method="POST" commandName="student"><form:errors path="*" cssClass="errorStyle" element="div"/><table>            <tr>                <td><form:label path="name">姓名:</form:label></td>                <td><form:input path="name" /></td>                <td><form:errors path="name" cssClass="error" /></td>            </tr>            <tr>                <td><form:label path="age">年龄:</form:label></td>                <td><form:input path="age" /></td>            </tr>            <tr>                <td><form:label path="id">编号:</form:label></td>                <td><form:input path="id" /></td>            </tr>            <tr>                <td colspan="2"><input type="submit" value="提交" /></td>            </tr>        </table></form:form></body></html>
result.jsp

<%@ page language="java" contentType="text/html; charset=utf-8"    pageEncoding="utf-8"%><%@taglib uri="http://www.springframework.org/tags/form" prefix="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><h2>Submitted Student Information</h2>   <table>    <tr>        <td>姓名:</td>        <td>${name}</td>    </tr>    <tr>        <td>年龄:</td>        <td>${age}</td>    </tr>    <tr>        <td>编号:</td>        <td>${id}</td>    </tr></table></body></html>

http://localhost:8080/DoError/addStudent


0 0
原创粉丝点击