본문 바로가기
IT/Struts2

chain result (체인리절트) 활용하기 - 1편

by Jeami 2013. 7. 25.
반응형



struts2




스트럿츠는 액션을 실행한 후에 다른 액션에서 이전의 정보와 액션이 진행된 상태값을 계속 유지해줘야 할 필요가 있을 경우가 생깁니다. 이럴 때 사용되는 것이 action result 입니다. 다시말해, 액션끼리 채인을 걸어서 서로 연결시켜버리는 작업이 되겠습니다.

역시 기본이해는 그리 어렵지 않습니다. 다만, 응용이 문제죠^^;

기억해둬야 할 것은 요청된 값과 액션실행 후 값을 계속 유지시켜주면서 다른 액션을 실행해줘야 할 때!! chain 을 걸어버린다는 것입니다.(실무에선 아주 빈번히 사용되죠)


액션을 실행한 후 리절트 페이지로 바로 포워딩하게 되면 이전 액션에서 사용되었던 자원은 전부 사라지게 되기 때문에 값을 유지시켜 줄 수가 없는 것입니다.

체인리절트의 장점은, 앞서 실행된 액션의 프로퍼티(속성) 값을 현재 실행 할 액션에서도 사용할 수 있게끔해주는 것입니다. 

대표적인 예는 로그인 페이지입니다. 로그인이 성공적으로 실행되었다면, 그 값을 계속 유지시켜줄 필요가 있겠죠? 이때, 체인을 걸어서 이 후 수행될 액션값에 계속 적용시켜 줄 수 있게 되는 것입니다.(쉽죠?^^)




프로젝트는 다음과 같이 기본적으로 셋팅하였습니다.



프로젝트는 기본적으로 jar 파일을 라이브러리에 무조건 가져와주고,

web.xml 에서 FilterDispatcher 환경설정을 마쳐 주셔야 합니다.

아래와 같이 맞춰주세요.




web.xml 기본설정

<?xml version="1.0" encoding="UTF-8"?>

<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" id="WebApp_ID" version="3.0">

  <display-name>Web0922</display-name>

  <welcome-file-list>

    <welcome-file>index.html</welcome-file>

    <welcome-file>index.htm</welcome-file>

    <welcome-file>index.jsp</welcome-file>

  </welcome-file-list>

  

  

  <!-- 아래 내용이 중요합니다. -->

 <filter>

 <filter-name>struts2</filter-name>

 <filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class>

 <init-param>

    <param-name>struts.i18n.encoding</param-name>

    <param-value>UTF-8</param-value>

 </init-param> 

  </filter>

  

  <filter-mapping>

  <filter-name>struts2</filter-name>

  <url-pattern>/*</url-pattern>

  </filter-mapping>  

  

</web-app>



필요한 파일구성

프로젝트명 : Web0724

기본 파일 셋팅

File -> new =>  Dynamic Web Project의 구조

Web0724

  |--src => 오.버 => new => package 

      |--action팩키지      

          |--UserRegAction.java  상속 ActionSupport 

      |--struts.xml       

  |--WebContent-> 오.버 => new =>  jsp파일

      |--jsp

    |--  userRegForm.jsp

    |--  userRegSuccess.jsp

      |--MATA-INF

      |--WEB-INF

          |--lib       ======>   jar 파일

          |--web.xml   ======>  <filter> <filter-mapping> 셋팅



본격적인 코딩은 다음시간부터 시작합니다~




반응형

loading