struts2一个action返回到另一个action的特定result
来源:互联网 发布:胡歌的演技知乎 编辑:程序博客网 时间:2024/04/29 21:33
问题:
<action name="admin" class="">
<result name=""></result>
<result name=""></result>
<result name=""></result>
</action>
<action name="detail" class="admin.DetailAction">
<result name="detail">这里怎么返回到admin的特定的一个方法(admin除默认方法外,还有几个方法)</result>
</action>
解决方法:
1.
Struts2中从一个Action直接跳到另一个Action中,Struts提供了两种结果类型可以实现:chain、redirect。我们从Servlet中学到重定向是不能保留参数的,也就是说重定向了,request对象就会无效了。同样redirect就像Servlet中的重定向,它也不能够保留request对象保存的参数。但是chain可以。所以两种的区别就在于chain能够保留request对象,而redirect不可以。struts.xml的配置<package name="mystruts1" extends="struts-default" namespace="/mystruts1"> <!-- 第一个Action --> <action name="test_*" class="com.action.TestAction" method="{1}"> <result name="text_chain" type="chain">result_resultChain</result> <result name="text_redirect" type="redirect">result_resultRedirect</result> </action> <!-- 第二个Action --> <action name="result_*" class="com.action.ResultAction" method="{1}"></action> </package> public class TestAction { public String testChain(){ HttpServletRequest request = (HttpServletRequest) ActionContext.getContext().get(ServletActionContext.HTTP_REQUEST); request.setAttribute("param", "我是chain结果类型..."); return "text_chain"; } public String testRedirect(){ HttpServletRequest request = (HttpServletRequest) ActionContext.getContext().get(ServletActionContext.HTTP_REQUEST); request.setAttribute("param", "我是redirect结果类型..."); return "text_redirect"; } }public class ResultAction { public String resultChain(){ HttpServletRequest request = (HttpServletRequest) ActionContext.getContext().get(ServletActionContext.HTTP_REQUEST); System.out.println(request.getAttribute("param")); return null; } public String resultRedirect(){ HttpServletRequest request = (HttpServletRequest) ActionContext.getContext().get(ServletActionContext.HTTP_REQUEST); System.out.println(request.getAttribute("param")); return null; } }
2.一般是一个方法对应一个action name.用method属性表示每个方法的名字,然后前面的action name 起不同的名字。举个例子:
<action name="A" class="admin.UserAction" method="方法名1">
<result>....</result>
</action>
<action name="B" class="admin.UserAction" method="方法名2">
<result>....</result>
</action>
这就是你说的“admin除默认方法外,还有几个方法”,将那几个方法都这么配置。
然后
<action name="detail" class="admin.DetailAction">
<result type="redirect">/B.action</result>
</action>
这里是转到了方法名2里,根据不同的方法名选择不同的action name 进行配置,如果还有配置文件中还有package名,前面还需要假如package名。
<result type="redirect">/包名/B.action</result>
- struts2一个action返回到另一个action的特定result
- struts2 action的result如何跳转到另一个action
- struts2从一个action内部跳转到另一个action
- struts2从一个action跳转到另一个action
- struts2 的配置文件,从一个action跳到另一个action的方法
- struts2从一个action跳到另一个action的配置方法
- struts2 从一个action 跳转到另一个action的两种方法
- struts2 从一个action 跳转到另一个action的两种方法
- struts2 从一个action 跳转到另一个action的两种方法
- struts2 从一个action 跳转到另一个action的两种方法
- struts2 从一个action 跳转到另一个action的两种方法
- struts2 从一个action 跳转到另一个action的两种方法
- struts2从一个action跳转到另一个action的两种方法
- struts2 从一个action 跳转到另一个action的两种方法
- struts2 从一个action 跳转到另一个action的两种方法
- struts2 从一个action 跳转到另一个action的两种方法
- struts2从一个action跳转到另一个action的两种配置方法
- struts2中action跳转到另一个action的方法
- php复习 第五天 数组相关函数
- AOE网上的关键路径
- Android简便通用的simpleBaseAdapter
- BZOJ 4144: [AMPPZ2014]Petrol 最短路+最小生成树+倍增
- HDU 1575 Tr A【矩阵快速幂取模】
- struts2一个action返回到另一个action的特定result
- xdoj-1032-找规律
- ubuntu上搭建git服务器
- iOS性能优化 --- AsyncDisplaykit
- leetcode_[python/C++]_91_Decode Ways_动态规划
- 使用WinDbg调试程序
- Windows 编库相关问题
- UVA 11093Just Finish it up
- Mybatis 动态读取配置文件driver、url、username、username