<< 액션클래스 만들기(컨트롤러 역할) >>

방법1) Action인터페이스를 상속받아 만들기

방법2) ActionSupport클래스를 상속받아 만들기

방법3) POJO(Plain Old Java Object)기반으로 만들기-어떠한 컨테이너나 프레임워크에 종속적이지 않은 평범한 자바객체

class TestAction{ //POJO기반(O)
..
}
class TestAction extends HttpServlet{ //POJO기반(X)
..
}


 

struts 예제 설정 >>
1. WEB-INF 밑에 
     1) classes 폴더 생성
            --> xml파일 생성. 
                - struts.xml 
                - example.xml  (action )
     2) web.xml 설정. ( struts )
     3) lib에 관련 라이브러리 복사




2. 간단한 데이터 요청 예제
1) main.html ( 1,2 값을 action으로 넘겨서 결과를 result.jsp로 받는다. )
2) result.jsp
3) MyTestAction.java ( test.action 패키지 )
4) struts.xml
5) example.xml (action 매핑. struts.xml에 include됨 )



1) main.html

<!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>Insert title here</title>
</head>
<body>
<a href="test.action?data=1">오늘의 운세보기</a><br/>
<a href="test.action?data=2">오늘의 뉴스보기</a><br/>
</body>
</html>








2) result.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>Insert title here</title>
</head>
<body>
${ result }
</body>
</html>












3) MyTestAction.java
:  방법 1)  Action인터페이스를 상속받아 만들기

package test.action;

import com.opensymphony.xwork2.Action;
public class MyTestAction implements Action {
    private String data;
    private String result;

   //setter메소드가 존재하면 파라미터로 전송된 값이 멤버변수에 저장된다.
    public void setData(String data) {
        this.data = data;
    }

    //getter메소드가 존재하면 뷰페이지에서 출력이 가능하다.
    public String getResult() {
        return result;
    }

    @Override
    public String execute() throws Exception {
        if(data.equals("1")){
            result="오늘의 운세:하루죙일 졸림~~~~";
        }else if(data.equals("2")){
            result="뉴스:밤되면 잠이 깸~~~";
        }
        return SUCCESS;
    }
}


4)  struts.xml

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
    "-//Apache Software Foundation//DTD Struts Configuration 2.3//EN"
    "http://struts.apache.org/dtds/struts-2.3.dtd">

<struts>
    <package name="default" namespace="/" extends="struts-default">
    </package>

    <include file="example.xml"/>
</struts>


5) example.xml


<?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="example" namespace="/" extends="default">
        <!-- 액션매핑하기 -->
       <action name="test" class="test.action.MyTestAction">
           <result name="success">/view/result.jsp</result>
        </action>
        <action name="insert" class="test.action.InsertAction">
            <result name="success">/view/insertOk.jsp</result>
        </action>
    </package>
</struts>

+ Recent posts