<< 액션클래스 만들기(컨트롤러 역할) >>
방법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>
'WEB > Struts2' 카테고리의 다른 글
Struts2 #04( 로그인예제: Action클래스에서 session객체 얻어오기, validate() 사용하기) (0) | 2013.05.04 |
---|---|
Struts2 #03(Action클래스 : 여러 파라미터값을 vo객체에 한번에 담기(setter)) (0) | 2013.05.04 |
Struts2 #02(Action클래스만들기: ActionSupport클래스를 상속받아 만들기) (0) | 2013.05.04 |
Struts2 #00 ( 시작하기 ) (0) | 2013.05.04 |