티스토리 뷰

728x90
보통 스트럿츠의 실행 이동 경로는 아래와 같다
주소입력 (ex. http://xxx.xxx.xxx/xxx.action) ->  struts.xml에 등록해놓은 액션 클래스 -> result JSP 페이지

이렇게 이동할때는 액션 클래스 내부에서 클래스 변수 / Getter / Setter 이 3가지만 있으면 Value Stack을 이용하는데 아무 문제가 없다

하지만.. result가 JSP로 이동되지 않고 xxx.action으로 이동되도록 해놓으면 데이터를 받지 못했다

이럴때 해결방법이 2가지가 있다 (더 있는지는 모르겠다) 

struts.xml에서 아래와 같이 수정해준다 


ㅇ Get 방식으로 넘기기
    <action name="delete" class="Struts_MVC.DeleteAction">
<result type="redirectAction">list.action?pageNumber=${pageNumber}</result>
    </action>

    - 당연히 DeleteAction 클래스에서 pageNumber 를 넘겨줘야 한다
    ※ 혹시 pageNumber 이외에 articleNumber 도 같이 넘기고 싶다면...
        list.action?pageNumber=${pageNumber}&articleNumber=${articleNumber} 라고 쓰면 안된다
        
list.action?pageNumber=${pageNumber}&amp;articleNumber=${articleNumber} 라고 해야 된다

ㅇ result의 type을 chain으로 설정
    <action name="delete" class="Struts_MVC.DeleteAction">
<result type="chain">list</result>
    </action>

    - 마찬가지로 DeleteAction 클래스에서 데이터를 넘겨주도록 설정이 되어있어야 한다