struts2 两个action方法的跳转 struts.xml怎么配置
展开全部
action的配置中,有一个为"redirectAction”(重定向到一个Action)和chain(就是所谓的action请求链)的action类型
顺便说一下struts2的action type:
chain 用来处理Action链
dispatcher 用来转向页面,通常处理JSP
redirect 重定向到一个URL
redirectAction(或redirect-action) 重定向到一个Action
redirect:重定向,新页面无法显示第一个Action中的数据,因为底层调用的是response.sendRedirect("...")方法,无法共享请求范围内的数据,参数与dispatcher用法相同;
chain:将action的带着原来的状态请求转发到新的action,两个action共享一个ActionContext,actionName指定转向的新的Action的名字,method指定转向哪个方法,namespace指定新的Action的名称空间,不写表示与原Action在相同的名称空间
redirect-action:重定向到另一个Action,参数与chain用法相同,允许将原Action中的属性指定新名称带入新Action 中,可以在Result标签中添加 <param name=”b”>${a} </param>,这表示原Action中的变量a的值被转给b,下一个Action可以在值栈中使用b来操作,注意如果值是中文,需要做一些编码处理,因为Tomcat默认是不支持URL直接传递中文的!
示例:
在一下讨论主题下保存讨论意见后,直接跳转到显示该讨论主题下所有的讨论意见页面
<!--保存讨论意见-->
<action name="saveDiscussContext" class="com.discuss.DiscussAction"
method="saveDiscussContext">
<result name="success" type="chain"><!--注意type是chain类型-->
<param name="namespace">/discuss</param>
<param name="actionName">findDiscussContextBySeqNum</param>
<!--actionName是另外一个配置的action findDiscussContextBySeqNum是查找所有讨论意见的action-->
</result>
</action>
楼主,明白了吧,如果还不明白上网查资料!!·
顺便说一下struts2的action type:
chain 用来处理Action链
dispatcher 用来转向页面,通常处理JSP
redirect 重定向到一个URL
redirectAction(或redirect-action) 重定向到一个Action
redirect:重定向,新页面无法显示第一个Action中的数据,因为底层调用的是response.sendRedirect("...")方法,无法共享请求范围内的数据,参数与dispatcher用法相同;
chain:将action的带着原来的状态请求转发到新的action,两个action共享一个ActionContext,actionName指定转向的新的Action的名字,method指定转向哪个方法,namespace指定新的Action的名称空间,不写表示与原Action在相同的名称空间
redirect-action:重定向到另一个Action,参数与chain用法相同,允许将原Action中的属性指定新名称带入新Action 中,可以在Result标签中添加 <param name=”b”>${a} </param>,这表示原Action中的变量a的值被转给b,下一个Action可以在值栈中使用b来操作,注意如果值是中文,需要做一些编码处理,因为Tomcat默认是不支持URL直接传递中文的!
示例:
在一下讨论主题下保存讨论意见后,直接跳转到显示该讨论主题下所有的讨论意见页面
<!--保存讨论意见-->
<action name="saveDiscussContext" class="com.discuss.DiscussAction"
method="saveDiscussContext">
<result name="success" type="chain"><!--注意type是chain类型-->
<param name="namespace">/discuss</param>
<param name="actionName">findDiscussContextBySeqNum</param>
<!--actionName是另外一个配置的action findDiscussContextBySeqNum是查找所有讨论意见的action-->
</result>
</action>
楼主,明白了吧,如果还不明白上网查资料!!·
展开全部
两个Action之间的跳转需要在一个Action中设置result中的type属性
如:
<action name="LoginAction" class="com.action.LoginAction">
<result name="success" type="redirectAction">UserListAction.action</result>
</action>
如:
<action name="LoginAction" class="com.action.LoginAction">
<result name="success" type="redirectAction">UserListAction.action</result>
</action>
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
如果你的页面有两个form action :AdminLogin和Login
在类adminAction 中有两个方法String adminlogin和 login return "success"
则struts.xml里面配置
<action name="adminLoginAction" class="adminAction" method="adminlogin">
<result name="success">/admin/adminmanage.jsp</result>
</action>
<action name="LoginAction" class="adminAction" method="login">
<result name="success">/admin/manage.jsp</result>
</action>
在类adminAction 中有两个方法String adminlogin和 login return "success"
则struts.xml里面配置
<action name="adminLoginAction" class="adminAction" method="adminlogin">
<result name="success">/admin/adminmanage.jsp</result>
</action>
<action name="LoginAction" class="adminAction" method="login">
<result name="success">/admin/manage.jsp</result>
</action>
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
配置result中的type属性····
详情自己去参考struts2的一些资料··
详情自己去参考struts2的一些资料··
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
给你示例代码自己看吧:
<action name="RoleAction" class="com.syx.oa.web.struts.action.RoleAction">
<result>/WEB-INF/pages/RoleAction/list.jsp</result>
<result name="list">/WEB-INF/pages/RoleAction/list.jsp</result>
<result name="saveUI">/WEB-INF/pages/RoleAction/saveUI.jsp</result>
<result name="toList" type="redirect">/RoleAction!list</result>
</action>
<action name="RoleAction" class="com.syx.oa.web.struts.action.RoleAction">
<result>/WEB-INF/pages/RoleAction/list.jsp</result>
<result name="list">/WEB-INF/pages/RoleAction/list.jsp</result>
<result name="saveUI">/WEB-INF/pages/RoleAction/saveUI.jsp</result>
<result name="toList" type="redirect">/RoleAction!list</result>
</action>
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询