struts로 검색한 결과 :: 시소커뮤니티[SSISO Community]
 
SSISO 카페 SSISO Source SSISO 구직 SSISO 쇼핑몰 SSISO 맛집
추천검색어 : JUnit   Log4j   ajax   spring   struts   struts-config.xml   Synchronized   책정보   Ajax 마스터하기   우측부분

회원가입 I 비밀번호 찾기


SSISO Community검색
SSISO Community메뉴
[카페목록보기]
[블로그등록하기]  
[블로그리스트]  
SSISO Community카페
블로그 카테고리
정치 경제
문화 칼럼
비디오게임 스포츠
핫이슈 TV
포토 온라인게임
PC게임 에뮬게임
라이프 사람들
유머 만화애니
방송 1
1 1
1 1
1 1
1 1
1

struts로 검색한 결과
등록일:2008-03-16 12:07:36
작성자:
제목:Action의 Result를 다른 Result로 연계하기


어떠한 동작이 있다고 하자. 이러한 동작이 마친 뒤에는 특정 동작으로 자동으로 연계되는게 필요한 경우가 있다. 예를 들어서 친구 목록에 친구를 추가하고 다시 갱신된 데이터가 반영된 메인 페이지로 가고 싶다고 하는 경우가 있다. 여기서 주의할 점은 갱신된 데이터가 반영되어 있어야 한다는 것이다. 이는 Control에 의해서 Model 정보다 반영되고 그 뒤에 View로 이동되어야 한다는 것이다. 그렇다면 우리는 이제 result를 다른 action으로 전송 시켜야 하는 것이다.

이 를 위해서 result에 type을 선언하게 되는데, 이 때 forward가 필요한 경우에 type값을 chain으로 지정하도록 한다. 또한 redirect를 원하는 경우에는 redirect-action 값을 type으로 지정하도록 하면 된다. 앞 서 예를 들었던 경우와 같이 주소록을 갱신하고 그 결과를 반영한 메인으로 이동하고자 하는 경우에 아래와 같이 하면 된다.


<action name="update" class="com.thinkfree.s1.action.contact.UpdateContact">
            <result name="success" type="chain">main</result>
</action>

참고로 forward와 redirect의 차이에 대해서는 다음 내용을 참고하도록 하자.

Forward

-          client가 웹브라우저에서 요청시 Forwardclient 에게 보여지지 않는 페이지에서 작업을 하게 된다. 그러므로 client는 페이지의 이동을 모르게 되며, URL또한 변경이 되지 않는다.

Client가 요청을 하게 될 때 생성되는 객체는 계속 사용이 가능하며 다른 페이지 에서도 그 객체를 사용할 수 있다 . 


Redirect

-          client가 웹브라우저에서  요청시 Redirectclient에게 페이지의 이동을 모두 노출시킨다. client가 요청시 새로운 객체를 생성하며 기존의 객체는 사라지게 되며, URL이 페이지 이동시마다 변경된다. 이전의 전송값을 이동한 페이지에서 사용 불가능하다 .