2016-07-14 7 views
3

나는 몇 시간 동안 웹을 검색해 왔고 Struts 2의 간단한 질문에 대한 답을 찾을 수 없다. 기본적으로 Struts 1에서는 다음과 같은 단순한 포워드가 있으며 Struts에서 같은 것을 재현하려고한다. 2 :Struts 2에서 단순 리디렉션을 수행하려면 어떻게해야합니까?

<action path="/az/api/v22/my-tenants" forward="/components/c/apis/v22/my-tenants.jsp"> 
     </action> 

나는이 작업을 수행하는 액션 클래스를 쓸 수,하지만 난 Struts2는 간단한 리디렉션입니다 때문에 액션 클래스를 작성하지 않고이 일을 어떤 방법을 가지고있다 생각합니다.

+0

그걸로 뭘하고 싶니? –

답변

2

struts.xml

struts.xml에 actionless 결과를 만듭니다

<package name="v22" namespace="/az/api/v22" extends="struts-default"> 
    <action name="my-tenants"> 
     <result>/components/c/apis/v22/my-tenants.jsp</result> 
    </action> 
</package> 

이 구성은 네임 스페이스 /az/api/v22과 행동 이름 my-tenants으로 패키지를 정의합니다. 따라서 경로 /az/api/v22/my-tenants을 사용하면 기본 동작 매퍼가 네임 스페이스와 동작 이름을 함께 사용하여 동작 구성을 가져 오기 때문에 위의 동작 구성에 매핑됩니다.

조치 태그에 속성이없고 ActionSupport을 사용합니다. 이 클래스는 기본적으로 struts-default 패키지에 구성됩니다. 결과에서

struts2 기본값은 JSP에 전달하는 디스패처를 사용하고 있기 때문에는 JSP의 위치를 ​​정의하기에 충분이고, 그것은 ActionSupport 클래스에서 기본적으로 반환되는 결과 설정에서 기본적으로 "success" 결과 코드를 사용하고.

+0

패키지의 네임 스페이스 특성을 사용하지 않고이 작업을 수행 할 수 있습니다. 문제는 Struts2의 패키지가 이미 생성되어 이러한 호출이이 패키지의 일부가된다는 것입니다. 따라서 패키지의 네임 스페이스를 제어 할 수 없습니다. –

+0

네임 스페이스 특성이 없으면 작업 이름 앞에 추가해야하는 부분이 누락되었습니다. –