루트 네임 스페이스에 정의 된 이름에 빈 문자열을 사용하는 동작이 있으며 특정 결과가 발견되면 다른 동작에서 해당 동작으로 리디렉션하고 싶습니다. 일하다. 여기 Struts 2의 기본 동작으로 리디렉션
는 기본 동작<action name="" class="com.example.actions.HomeAction">
<result name="success" type="freemarker">freemarker/home.ftl</result>
</action>
입니다 그리고 패키지의 글로벌 결과에 리디렉션을 정의하고 있습니다 :
<global-results>
<result name="sendToRouting" type="redirectAction">
<param name="actionName"></param>
<param name="namespace">/</param>
</result>
</global-results>
내가 actionName 매개 변수를 복용 시도했지만, 그 작동하지 않습니다. HomeAction에 이름을 지정하고 글로벌 결과에서 이름으로 참조하면 작동합니다. 따라서 문제는 리디렉션에 대한 작업 이름이 없다고 가정합니다.
의견이 있으십니까?
변경 유형은 "리디렉션 액션을"= 입력 ...
아직도 생각보다 "올바른"솔루션을 찾고 : 나는 빈 문자열로을 평가 문자열을 제공함으로써이 문제를 해결 해킹 –
나는 struts 2.1.6을 사용하고 있는데, 나는 리다이렉트 액션이 이전 버전의 redirectAction으로 바뀌 었음을 읽었다. –
그냥 호기심, 행동에 이름을 부여하지 않는 것이 "좋은"이유 일 수 있습니까? 예를 들어, "기본값"또는 뭔가? 이름이없는 액션을 사용하면 어떤 이점도 보이지 않습니다. – user1884155