2012-03-19 4 views
1

첫 번째 조치의 성공에 대해 다른 조치를 실행하려고하지만 요청 된 자원을 사용할 수 없다는 오류가 발생합니다. struts.xml 파일에서 아래 코드를 확인하십시오.조치 성공시 조치 실행

<action name="login" class="org.shobhan.action.LoginAction" > 
<result name="success" type="dispatcher">/showProfile</result> 
<result name="error" type="redirect">/Login.jsp</result> 
</action> 
<action name="showProfile" class="org.shobhan.action.ShowProfileAction" > 
<result name="success">/profile.jsp</result> 
</action> 

Java 파일 LoginAction과 ShowProfileAction은 모두 같은 폴더에 있습니다.

답변

0

성공적인 통화에 파일 확장명을 사용해서는 안됩니까?

+0

like /showProfile.jsp –

+0

내가 시도한 .action, 작동하지 않았습니다. – NotesArt

1
<result name="success" type="dispatcher">/WEB-INF/showProfile.jsp</result>  
<result name="error" type="dispatcher">/WEB-INF/Login.jsp</result> 

위의 코드는 다른 동작을 호출하지 않지만 이러한 JSP가 WEB-INF에 있으면 작동합니다.

Dispatcher가 jsp (이 경우)로 해석되고 리디렉션되면 처음부터 호출이 시작됩니다. URL에서 /Login.jsp를 호출 할 수 있습니까? 즉, CONTEXT_ROOT/Login.jsp에 액세스 할 수 있습니까? 그렇다면 당신은 앞으로 나아갈 수 있습니다. 그렇지 않다면 불가능합니다.

일반적으로 필드 오류 (및 유용 할 수있는 다른 변수 및 메시지)가 제거되므로 오류가 발생한 후에는 리디렉션하지 않는 것이 좋습니다.

조치를 호출하려면 다음을 참조하십시오. Action redirect in struts.xml 조치 호출 및 일부 조언에 대한 추가 옵션.

PS : 디스패처는 기본 유형, 당신은 간단하게 쓸 수 있도록 성공의 기본 이름은 ...

<result>/WEB-INF/showProfile.jsp</result>  
<result name="error">/WEB-INF/Login.jsp</result>