나 어제 배웠다/Spring3
ValidationForm Sample
봄아빠
2011. 4. 8. 16:33
필요 library

1. index.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <!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 3, MVC Examples</title> </head> <body> <h1>Spring 3, MVC Validation Examples</h1> <ul> <li><a href="forms/validationForm.html">Validation Form</a></li> </ul> </body> </html> |
2. User.java
package myspring.forms;
import javax.validation.constraints.Max; import javax.validation.constraints.Min; import javax.validation.constraints.NotNull; import javax.validation.constraints.Size;
import org.hibernate.validator.constraints.NotEmpty; import org.springframework.format.annotation.NumberFormat; import org.springframework.format.annotation.NumberFormat.Style;
public class User { @NotEmpty @Size(min=1,max=20) private String userName; @NotNull @NumberFormat(style=Style.NUMBER) @Min(1) @Max(110) private Integer age; @NotEmpty(message="Password must not be black(Not Null).") @Size(min=1,max=10,message="Password must between 1 to 10 Charactors.") private String password; public void setUserName(String userName) { this.userName = userName; } public String getUserName() { return userName; } public void setAge(Integer age) { this.age = age; } public Integer getAge() { return age; } public void setPassword(String password) { this.password = password; } public String getPassword() { return password; } } |
3. validationForm.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>Validation Form</title> </head> <body> <form:form method="POST" action="validationForm.html" commandName="user"> <table> <tr> <td>User Name:<font color="red"><form:errors path="userName" /></font></td> </tr> <tr> <td><form:input path="userName" /></td> </tr> <tr> <td>Age:<font color="red"><form:errors path="age" /></font></td> </tr> <tr> <td><form:input path="age" /></td> </tr> <tr> <td>Password:<font color="red"><form:errors path="password" /></font></td> </tr> <tr> <td><form:password path="password" /></td> </tr> <tr> <td><input type="submit" value="Submit" /></td> </tr> </table> </form:form> </body> </html> |
4.ValidationFormController.java
package myspring.controllers;
import java.util.Map;
import javax.validation.Valid;
import myspring.forms.User;
import org.springframework.stereotype.Controller; import org.springframework.validation.BindingResult; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod;
@Controller @RequestMapping("/validationForm.html") public class ValidationFormController { @RequestMapping(method=RequestMethod.GET) public String viewValidationForm(Map<String, User> model){ User user = new User(); model.put("user", user); return "validationForm"; } @RequestMapping(method=RequestMethod.POST) public String doValidationForm(@Valid User user, BindingResult result, Map<String, User> model){ if(result.hasErrors()){ return "validationForm"; } model.put("user", user); return "validationSuccess"; } } |
5. web.xml
6. dispatcher-servlet.xml