스트럿츠2 Action

스트럿츠2 에서의 Action 이란 ?

요청 HTTP를 직접 처리하기 위해 비즈니스 객체가 제공하는 서비스를 직접 이용하는 객체

특징

1.요청이 들어올 때 마다 새로 생성되므로 상태를 가질 수 있다.
  Struts1의 액션 객체는 단 하나의 인스턴스만 이용
(이렇기 때문에 빈즈가 없어도 데이터를  ACTION에 저장할 수 있다 )

2.액션 클래스 작성 방법

1)POJO (Plain Old Java Object)
2)struts에 독립적인 액션을 만들 때 사용한다.
3)요청 처리 메소드를 찾기 위해 리플렉션을 사용한다.

4)com.opensymphony.xwork2. ActionSupport 클래스를 상속
5)요청 파라미터의 유효성 검사 기능을 추가로 사용할 수 있다.

사용방법

액션 메소드
public String execute() throws Exception { … }


**xml 설정 방법
[struts-root.xml]

<struts>
    <package name="root" namespace="/" extends="struts-default">   
    <action name="welcome" class="root.action.WelcomeAction">
       <result name="success">welcome.jsp</result>
    </action>
    </package>   
</struts>

 

--------------------------------------
**Action class 설정 방법
import com.opensymphony.xwork2.*;

//how2
public class WelcomeAction extends ActionSupport {
    public String execute() throws Exception {
        System.out.println("Welcome-execute() 실행");
        return SUCCESS;
    }


다른 메소드로 요청처리방법

호출 방법

http://localhost:8080/contextName/액션명!메소드명.action

struts.properties에서의 관련 설정
 struts.enable.DynamicMethodInvocation=true  (기본)

오버라이드(보안의 이유로 이 방법을 사용하지 않도록 권장와일드카드 메소드)
 <constant name="struts.enable.DynamicMethodInvocation"  value=“false />

http://localhost:8080/contextName/액션명.action?method:메소드명

struts.enable.DynamicMethodInvocation옵션과는 상관없이 가능


**Action class 설정 방법
---------------------------------------------------------------
[board.action.BoardAction]

package board.action;

public class BoardAction {
 public String registerForm() throws Exception {
  System.out.println("BoardAction-registerForm()");
  return null;
 }
 
 public String register() throws Exception {
  System.out.println("BoardAction-register()");
  return null;
 }
}



**xml 설정 방법
--------------------------------------------------------------
[struts-root.xml]

<struts>
    <package name="root" namespace="/" extends="struts-default">   
    <action name="welcome" class="root.action.WelcomeAction">
       <result name="success">welcome.jsp</result>
    </action>
   
    <action name="board" class="board.action.BoardAction">
    </action>
    </package>   
</struts>

by darkmirr | 2009/01/06 18:39 | FRAME WORK | 트랙백 | 덧글(0)

트랙백 주소 : http://darkmirr.egloos.com/tb/1255231
☞ 내 이글루에 이 글과 관련된 글 쓰기 (트랙백 보내기) [도움말]

:         :

:

비공개 덧글

◀ 이전 페이지          다음 페이지 ▶