我正在爲用戶開發一個登錄頁面,具有admin priviledge的用戶被轉發到特定路徑,並且具有用戶privledge的用戶被轉發到另一個路徑。我想在處理java類之後轉發。我是新來的Struts 2轉發到Struts 2中的不同路徑
最好的問候,
我正在爲用戶開發一個登錄頁面,具有admin priviledge的用戶被轉發到特定路徑,並且具有用戶privledge的用戶被轉發到另一個路徑。我想在處理java類之後轉發。我是新來的Struts 2轉發到Struts 2中的不同路徑
最好的問候,
通過Forward如果你的意思是將用戶重定向到不同的頁面?如果是這樣的話比你所設置的結果字符串在你的行動像
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;
}
]
在struts.xml
這樣做
<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>
最簡單的解決方法就是宣告爲每個用戶類型不同的結果。
<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>
更超過了通用的一個,你可以去戴夫曾建議 –
FWIW您可能不想像第一個結果配置那樣重定向到普通的JSP,而是轉發或重定向到某個操作。 –
@DaveNewton是你right.i編輯我的文章:) –