◆ @Valid 어노테이션을 사용하기 위해 lib 추가 : javax.validation-1.0.0.GA.jar
◆ 스프링 3 MVC는 JSR 303의 @Valid 어노테이션과 스프링 프레임워크의 @InitBinder 어노테이션을 이용해서 Validator에 대한 직접적인 호출없이 스프링 프레임워크가 유효성 검사 코드를 실행하도록 할 수 있음
LoginVO.java
package sp.mvc.vo;
public class LoginVO { |
LoginValidator.java
package sp.mvc.validator; import org.springframework.validation.Errors; import sp.mvc.vo.LoginVO;
public class LoginValidator implements Validator {
@Override
@Override |
LoginController.java
package sp.mvc.controller; import javax.validation.Valid; import org.springframework.stereotype.Controller;
@Controller |
● 스프링은 @InitBinder 어노테이션이 적용된 메서드를 이용해서 폼과 커맨드 객체 사이의 매핑을 처리해주는 WebDataBinder를 초기화할 수 있도록 하고 있다. 이 메서드에서 WebDataBinder.setValidator() 메서드를 이용해서 커맨드 객체의 유효성 여부를 검사할 때 사용할 Validator를 설정하게 됨
● submit() 메서드 내부에서 Validator.validate() 메서드를 명시적으로 호출하지 않고 있음
main_config.xml
<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans"
<context:annotation-config/>
|
loginForm.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8" |
loginInfo.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8" |
결과
요청 URL http://localhost:8090/spring303/login.sp
---- form ---- |
[참고자료] Spring 3.0 프로그래밍-최범균
'프로그램 > Spring 3.0' 카테고리의 다른 글
커스텀 View - 파일 다운로드(AbstractView) (0) | 2012.05.22 |
---|---|
ViewResolver 구현 클래스와 다수의 ViewResolver 설정 (2) | 2012.05.22 |
ValidationUtils 클래스를 이용한 폼 값 검증 (0) | 2012.05.21 |
Errors 인터페이스와 BindingResult 인터페이스 (0) | 2012.05.21 |
Validator 인터페이스를 이용한 폼 검증 (0) | 2012.05.17 |