본문 바로가기

나 어제 배웠다/Spring3

ValidationForm Sample

필요 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

 

<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5" xmlns="http://java.sun.com/xml/ns/j2ee"
 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_5.xsd">

 <display-name>Spring3Example</display-name>
 <servlet>
  <servlet-name>dispatcher</servlet-name>
  <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
  <load-on-startup>1</load-on-startup>
 </servlet>
 <servlet-mapping>
  <servlet-name>dispatcher</servlet-name>
  <url-pattern>/forms/*</url-pattern>
 </servlet-mapping>
 <welcome-file-list>
  <welcome-file>index.jsp</welcome-file>
 </welcome-file-list>
</web-app> 

 

6. dispatcher-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:p="http://www.springframework.org/schema/p"
 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-3.0.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
 ">

<mvc:annotation-driven />

<context:component-scan base-package="myspring.controllers"/>

<bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver">
 <property name="prefix">
  <value>/WEB-INF/views/</value>
 </property>
 <property name="suffix">
  <value>.jsp</value>
 </property>
</bean>

<bean id="messageSource" class="org.springframework.context.support.ReloadableResourceBundleMessageSource">
 <property name="basename" value="/WEB-INF/messages" />
</bean>

</beans>
 

 

'나 어제 배웠다 > Spring3' 카테고리의 다른 글

jQuery 단일건 조회/저장 - Struts  (0) 2013.07.31
Using MyBatis 3 with Spring 3 Using Mapper XML Files  (0) 2011.04.29
SimpleForm  (0) 2011.04.08
HellowWorldSpring3  (0) 2011.04.08
프로그램 설치 및 환경설정  (0) 2011.04.08