특별한딸기이야기

validate()메소드를 이용한 유효성 검사 본문

딸기 공부방/struts and spring

validate()메소드를 이용한 유효성 검사

특별한녀석 2008. 11. 18. 11:31

struts-config.xml

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts-config PUBLIC
 "-//Apache Software Foundation//DTD Struts Configuration 1.2//EN"
 "http://jakarta.apache.org/struts/dtds/struts-config_1_2.dtd">
<struts-config>
 <form-beans>
  <form-bean name="login_form" type="com.tistory.special0strawberry.Login_Form"/>
 </form-beans>
 
 <global-exceptions>
  <exception type="com.tistory.special0strawberry.Login_Process_Exception" key="errors.member.iderror"
   scope="request" path="/login.do" />
 </global-exceptions>
 
 <global-forwards>
  <forward name="success" path="/index.do" module="" redirect="true"/>
 </global-forwards>
 
 <action-mappings>
  <action path="/index" forward="/index.jsp"/>
  <action path="/login" forward="/Login/login_form.jsp"/>
  <action path="/login_process" type="com.tistory.special0strawberry.Login_Process_Action" name="login_form"
   scope="request" validate="true" input="/login.do">
   <forward name="fail" path="/login.do"/>
  </action>
 </action-mappings>
 <message-resources parameter="MessageResources"/>
</struts-config>
<!-- 여기서 중요한 부분은 액션 부분이다. 그동안 validate를 false로 놓고 사용했지만 이부분은true다. 유효성 검사를 하겠다는 뜻이다. 그리고 뒤에 input이 붙어 있는데 이것은 유효성 검사 후에 에러가 검출되면 가는 곳이다.-->

Login_Form.java

package com.tistory.special0strawberry;

import javax.servlet.http.HttpServletRequest;

import org.apache.struts.action.ActionErrors;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionMapping;
import org.apache.struts.action.ActionMessage;

public class Login_Form extends ActionForm
{
 private String id;
 private String password;
 
 public String getId()
 {
  return id;
 }
 
 public void setId(String id)
 {
  this.id = id;
 }
 
 public String getPassword()
 {
  return password;
 }
 
 public void setPassword(String password)
 {
  this.password = password;
 }
 
 @Override
 public ActionErrors validate(ActionMapping mapping,
   HttpServletRequest request)
 {
  ActionErrors errors = new ActionErrors();
  
  if(this.id == null || id.length() == 0)
  {
   errors.add("errors.member.iderror", new ActionMessage("id 입력이 이상합니다.", false));
  }
  else if(this.password == null || password.length() == 0)
  {
   errors.add("password", new ActionMessage("password 입력이 이상합니다.", false));
  }
  
  return errors;
 }
}
/* 액션 폼 클래스이다. 그 동안 안보이던 validate라는 함수가 보인다. 이 함수에서 유효성을 검사하는 것이다. 자기가 알아서 멤버변수에 값을 채워 놓으니 그 부분은 신경쓸 필요가 업고, 결과값이 null이거나 error가 더해지지 않으면 무사 통과, 아니면 위에서 설정한 input으로 들어가게 된다. id부분은 global exception으로 인해 조금 지저분하게 보이지만 어차피 에러를 더하는 부분이다. (단 global exception을 사용하는 것은 아니다.)*/

나머지 부분들은 특별히 바뀌는 것이 없기에 생략... 다 넣어주고 싶은 마음은 있으나 귀찮아서... ^^;;;

필요하신 분은 수정 안한 초기판을 트랙백으로 걸어 놓을 테니 수정해서 보시길...(global exception부분도 같이 수정해야 제대로 작동 할 것 같음... ^^;;;)

'딸기 공부방 > struts and spring' 카테고리의 다른 글

struts & tiles  (0) 2008.11.18
validatorplugin을 이용한 유효성 검사  (0) 2008.11.18
학원 과제  (0) 2008.11.17
struts 게시판 참조 블로그  (0) 2008.11.14
예외처리(선언적인 방법)  (0) 2008.11.13