상세 컨텐츠

본문 제목

struts 2. action 설정에서 result tag 사용

Programming/Spring Framework

by otamot 2009. 10. 28. 13:22

본문

struts.xml에서 action을 등록하게 되는데 다음과 같다.

        <action name="userRegiViewAction" class="userAction" method="executeGoto">
            <result>/userRegi.jsp</result>
        </action>
        <action name="insertUserAction" class="userAction" method="executeInsertUser">
            <result name="success" type="redirect">userListAction.do</result>
        </action>

<result> 태그가 다른형태의 두가지를 사용하고 있다. 첫번째 형태
    <result>/userRegi.jsp</result>

는 바로 결과 페이지를 명시하는 것. executeGoto() 메소드를 수행 후 바로 userRegi.jsp로 이동하는 내용이다. 다음으로 
     <result name="success" type="redirect">userListAction.do</result>

형태는 일단 속성 name과 type를 사용하고 있다. name은 action 함수에서 리턴하는 string을 명시하면된다. 리턴되는 string에따라 분기되는 방향을 명시하는 것이다. 다음으로 type 속성이 있는데 명시하는 이동 경로 이동하는 형태를 나타낸다. 

"chain"은 다른 액션으로 데이타와 같이 보낸다. 이 때 액션 이름을 찾아간다.
<result type="chain">userListAction</result>

"redirect"는 데이타없이 다른 액션으로 이동한다.
<result type="redirect">userListAction.do</result>

"dispatcher"는 type의 default 값이고 전체경로를 써줘야 한다.
<result type="dispatcher">/userListAction.do</result>

그래서 위 예제에서 "insertUserAction"을 수행하면 insert 처리 후 바로 userListAction.do가 수행되는 것이다.

관련글 더보기