2009-11-30 8 views
2

하나의 Struts 액션에서 다른 Struts 액션의 메소드를 호출하는 데 문제가 있습니다 (가능한 경우).Struts 1.2.9 Action Chaining

두 개의 Struts DynaValidatorForms로 작업하고 있습니다 - 하나는 항목을 만드는 데 사용되고 다른 하나는 작업을 보는 데 사용됩니다 (편집, 삭제 등).

두 개의 분리 된 Struts Action 파일 : CreateAction.java (create() 메소드 포함) 및 ViewAndEditAction.java (view() 및 edit() 메소드 포함).

이전 작업의 create() 메서드가 완료된 후 후자의 작업에서 view() 메서드를 호출하고 싶습니다.

나는 행동 체이닝을 조사했지만 내 문제에 대한 해결책을 찾을 수 없었다.

답변

1

첫 번째 작업에서 다음 작업으로 전달해야합니다. 그런 다음 적절한 앞으로 돌려 보내십시오. 아래 설정에서 Create 액션에서 "success"를 반환하면 다음 액션의 view 메소드로 이동합니다.

<action 
path="/create" 
type="package.CreateAction" 
name="YourForm" 
scope="request" 
validate="false"> 
<forward 
    name="failure" 
    path="/mainMenu.jsp"/> 
<forward 
    name="success" 
    path="/view.do" redirect="false"/> 
</action> 

<action 
path="/view" 
type="package.ViewAndEditAction" 
name="YourForm" 
scope="request" 
validate="false"> 
<forward 
    name="failure" 
    path="/mainMenu.jsp"/> 
<forward 
    name="success" 
    path="/view.jsp"/> 
</action> 
+0

Vincent에게 곧 답변 해 주셔서 감사합니다. 이것이 내가 시도한 것입니다. 그러나 Struts는 전달 후 ViewAndEditAction에서 어떤 메소드를 사용하는지 어떻게 알 수 있습니까? 두 작업 사이에 다른 DynaValidatorForm을 사용해도 괜찮습니까? 감사합니다. – Ger

+0

나는 행동 사이에 다른 형태를 사용하는 것이 문제가 될 수 있으며 그것이 당신이 문제를 겪고있는 곳이라고 생각합니다. 액션 구성에서 메서드 이름을 지정하여 다른 문제를 해결할 수 있습니다. –

+0

아, 그래서 내 앞으로 "/view.do?method=getRecord"같은 것입니다 참조하십시오. 감사합니다. Vincent. – Ger

관련 문제