program/struts2

ActionSupport class 상속을 통한 Action 구현

yoursyun 2008. 8. 22. 14:36

// ActionSupport class 상속
import com.opensymphony.xwork2.ActionSupport;

public class myTest extends ActionSupport{
 
 private String display;
 private String displayMyStr;

 public myTest(){
  display = "init";
  displayMyStr = "";
 }
 
 @Override
 public void validate(){
  if(displayMyStr == null || "".equals(displayMyStr)){
   addFieldError("myStr", "null value");
  }
 }
 
 @Override
 public String execute() throws Exception{
  display = displayMyStr;
 
  return SUCCESS;
 }
 
 public String getMessage(){
  return display;
 }
 
 public void setMyStr(String myStr){
  displayMyStr = myStr;  
 }
}

==============================================================
이전 getter, setter 에서 ActionSupport 클래스를 상속해서 구현한 모습니다.
 public void validate(){
  if(displayMyStr == null || "".equals(displayMyStr)){
   addFieldError("myStr", "null value");
  }
 }
를 이용하여 화면상에 간단하게 입력값 유효성 검색을 할 수 있다.
위 코드 구현시 다음을 구성 해줘야 한다.
struts.xml
<interceptor-ref name="params" />
<interceptor-ref name="workflow" />
<result name="input">/my_test.jsp</result>

my_test.jsp
<h2>${message}</h2>
<form method="post" action="myTest.visang">
 <input type="text" name="myStr" />
 <input type="submit" value="send" />
</form>
<div style="color:red">${fieldErrors.myStr}</div>

실행 하게 되면 초기화된 init 과 함께 null value 가 표기 되어 진다.



반응형