Spring MVC 使用JSR303校验表单

导入JSR303相关JAR包

Spring MVC 使用JSR303校验表单_第1张图片

Spring MVC 使用JSR303校验表单

创建registerForm.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%@taglib prefix= "form" uri= "http://www.springframework.org/tags/form" %>




测试JSR 303


注册页面

登录名:
密码:
用户名:
年龄:
邮箱:
生日:

创建success.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt"%>




测试JSR 303


测试JSR 303

登录名:${requestScope.user.loginname }
密码:${requestScope.user.password }
用户名:${requestScope.user.username }
年龄:${requestScope.user.age }
邮箱:${requestScope.user.email }
生日:

创建User

package com.po;
import java.util.Date;
import javax.validation.constraints.Email;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.Past;
import javax.validation.constraints.Pattern;
import org.hibernate.validator.constraints.Length;
import org.hibernate.validator.constraints.Range;
import org.springframework.format.annotation.DateTimeFormat;
public class User {
	@NotBlank
	private String loginname;	
	@NotBlank
	@Length(min=6,max=8)
	private String password;	
	@NotBlank
	private String username;	
	@Range(min=15, max=60)
	private int age;	
	@Email
	private String email;	
	@DateTimeFormat(pattern="yyyy-MM-dd")
	@Past
	private Date birthday;	
	public User() {
		super();
		// TODO Auto-generated constructor stub
	}
	public String getLoginname() {
		return loginname;
	}
	public void setLoginname(String loginname) {
		this.loginname = loginname;
	}
	public String getPassword() {
		return password;
	}
	public void setPassword(String password) {
		this.password = password;
	}
	public int getAge() {
		return age;
	}
	public void setAge(int age) {
		this.age = age;
	}
	public String getEmail() {
		return email;
	}
	public void setEmail(String email) {
		this.email = email;
	}
	public String getUsername() {
		return username;
	}
	public void setUsername(String username) {
		this.username = username;
	}
	public Date getBirthday() {
		return birthday;
	}
	public void setBirthday(Date birthday) {
		this.birthday = birthday;
	}
	@Override
	public String toString() {
		return "User [loginname=" + loginname + ", password=" + password
				+ ", email=" + email + ", username="
				+ username + ", birthDate=" + birthday + "]";
	}
}

创建UserController

package com.controller;
import javax.validation.Valid;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.validation.Errors;
import org.springframework.web.bind.annotation.ModelAttribute;
import org.springframework.web.bind.annotation.RequestMapping;
import com.po.User;
@Controller
public class UserController {
	@RequestMapping(value="/registerForm")
	 public String registerForm(Model model){
		User user = new User();
		model.addAttribute("user",user);
		// 跳转到注册页面
		return "registerForm";
	}
	 
	// 数据校验使用@Valid,后面跟着Errors对象保存校验信息
	 @RequestMapping(value="/login")
	 public String login(
			 @Valid @ModelAttribute  User user,
			 Errors  errors,
			 Model model) {
		 System.out.println(user);
		 if(errors.hasErrors()){
			 return "registerForm";
		 }
		 model.addAttribute("user", user);
	     return "success";
	 }
}

配置springmvc-config.xml









	
	

启动Tomcat访问以下地址:http://localhost:8080/jackson/registerForm

Spring MVC 使用JSR303校验表单_第2张图片

Spring MVC 使用JSR303校验表单_第3张图片

 

你可能感兴趣的:(spring,mvc)