2011-11-16 4 views
0

사용자 로그인 페이지를 개발 중이며 관리자 권한이있는 사용자는 특정 경로로 전달되고 사용자 권한이있는 사용자는 다른 경로로 전달됩니다. 나는 자바 클래스를 처리 한 후에 전달하려고한다. 나는Struts 2에서 다른 경로로 전달

답변

2

를 서로 다른 페이지로 사용자를 리디렉션을 의미한다면? 이 경우 모든 것보다 경우에 당신은

<action name="myaction"> 
    <result name="user">user.jsp</result> 
    <result name="admin_view">admin.jsp</result> 
</action> 

What dave has suggested 
<action name="myaction"> 
    <result>/WEB-INF/${action}_home.jsp</result> 
    <result name="input">/WEB-INF/login.jsp</result> 
</action> 
+0

당신은 데이브가 –

+0

을 제안했다 무엇을 갈 수있는 일반 하나를 더 좋아한다 struts.xml

public class MyActionextends ActionSupport{ String action="default" //getter and setter for action public String execute() throws Exception { String view; if admin view="admin_view" action="admin_view" if user view="user" action="user" return view; } ] 

처럼 행동에 뭔가를 결과 문자열을 설정해야 FWIW를 사용하면 첫 번째 결과 구성 에서처럼 일반 JSP로 리디렉션하지 않고 동작으로 전달하거나 리디렉션하는 것이 좋습니다. –

+0

@DaveNewton 예. 맞습니다. 내 게시물을 편집했습니다. –

2

가장 쉬운 해결책은 단지 각 사용자 유형에 대해 다른 결과를 선언하는 것입니다, 2.

안부를 스트럿츠를 처음입니다.

<action name="login"> 
    <result name="admin">/WEB-INF/admin_home.jsp</result> 
    <result name="user">/WEB-INF/user_home.jsp</result> 
    <result name="input">/WEB-INF/login.jsp</result> 
</action> 

actionRedirect은 후 리디렉션-얻을 패턴을 구현 가능성이 더 바람직하다.

조치 변수를 사용하여 이동 대상을 결정하는 등 몇 가지 옵션이 있습니다. 당신이 액션 속성 which 노출되면 예를 들어, : 정함으로써

<action name="login"> 
    <result>/WEB-INF/${which}_home.jsp</result> 
    <result name="input">/WEB-INF/login.jsp</result> 
</action> 
관련 문제