Struts2/기본(Oracle)
struts2 ActionSupport를 사용하여 유효성 검사(Interceptor)
Bohemian life
2012. 6. 21. 15:19
extends ActionSupport를 해준뒤에
Override 및 Implements 자동완성으로 넣기
<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN" "http://struts.apache.org/dtds/struts-2.0.dtd"> <struts> <package name="ch4-4" namespace="/ch4" extends="struts-default"> <!-- 데이터 전송 --> <action name="helloWorld3" class="com.ch4.action.HelloWorld3"> <interceptor-ref name="params" /> <result name="success">hello.jsp</result> </action> <!-- Action 인터페이스 사용 및 유효성 검사 --> <action name="helloWorld4" class="com.ch4.action.HelloWorld4"> <interceptor-ref name="params" /> <result name="input">name4.jsp</result> <result name="success">hello.jsp</result> </action> <!-- ActionSupport 사용 및 유효성 검사 --> <action name="helloWorld5" class="com.ch4.action.HelloWorld5"> <interceptor-ref name="params" /> <interceptor-ref name="workflow" /> <result name="input">name5.jsp</result> <result name="success">hello.jsp</result> </action> </package> </struts>HelloWorld5.java
name5.jsppackage com.ch4.action; import com.opensymphony.xwork2.ActionSupport; public class HelloWorld5 extends ActionSupport{ private String name; private String message; @Override public void validate() { if(name == null || "".equals(name) || "World".equals(name)){ //유효성 검사 //addFieldError는 ActionSupport가 가지고 있는 메소드 addFieldError("name","이름이 없거나 'World'라는 이름은 사용할 수 없습니다."); } } @Override public String execute() throws Exception { message = "Hello!, "+name; return SUCCESS; } public String getMessage() { return message; } public void setName(String name) { this.name = name; } }
<%@ 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>데이터 전송</title> </head> <body> <font color="blue">${fieldErrors.name}</font> <form action="helloWorld5.action"> <input type="text" name="name" value="${param.name}"> <input type="submit" value="전송"> </form> </body> </html>