我正在为用户开发登录页面,具有admin priviledge的用户被转发到特定路径,具有用户privledge的用户被转发到另一个路径。我想在处理java类之后转发。我是Struts 2的新手。
最诚挚的问候,
答案 0 :(得分: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>
答案 1 :(得分:2)
如果你的意思是将用户重定向到不同的页面,请转发?如果是这种情况,则必须在行动中设置结果字符串,如
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>