基于Struts2_Result_Type替chain_的Action之间数据传递
发布时间:2011-07-03 09:14:34 文章来源:www.iduyao.cn 采编人员:星星草
基于Struts2_Result_Type为chain_的Action之间数据传递
dispatcher 为默认跳转类型,用于返回一个视图资源(如:jsp)
Xml代码 :
<result name="success">/main.jsp</result>
<result name="success">/main.jsp</result>
以上写法使用了两个默认,其完整的写法为:
<result name="success" type="dispatcher">
<param name="location">/maini.jsp</param>
</result>
用于页面转发,页面跳转过程一直是同一个线程,Action中的数据一直保存着。
location只能是页面,不能是另一个action(可用type="chain"解决)。
redirect 类型用于重定向到一个页面,另一个action或一个网址。
Xml代码:
<result name="success" type="redirect">aaa.jsp</result>
<result name="success" type="redirect">bbb.action</result>
<result name="success" type="redirect">www.baidu.com</result>
缺点:redirect把一个http返回码(SUCCESS)以及返回的页面位置一起重新发给web服务器,容纳后由web服务器产生一个新的HTTP请求,就会产生一个新的线程,保存在原来Action执行的线程中的数据就无法访问。
所以,result需要包含Action的数据,那么redirect不是一个可行的办法。因为新的HTTP请求时在Servlet容器的新的线程中处理的,ActionContext中的所有状态都不会存在。
处理方法:
(方法一):
<result name="topic" type="redirect">/topicAction!findTopics.do?topicId=${topicId}</result>
(方法二):
<result name="topic" type="redirect-action">
<param name="actionName">findTopics</param>
<param name="topicId">${topicId}</param>
</result>
redirect-action 结果类型使用ActionMapperFactory提供的ActionMapper来重定向请求到另外一个action
Xml代码:
<result name="err" type="redirect-action">
<param name="actionName">重定向的Action名</param>
<param name="namespace">重定向Action所在的名字空间</param>
</result>
redirect和redirect-action两种结果类型在使用上其实并没有什么区别,只是写法不同而已。
chain 用于把相关的几个action连接起来,共同完成一个功能。
Xml代码:
<action name="step1" class="test.Step1Action">
<result name="success" type="chain">step2.action</result>
</action>
<action name="step2" class="test.Step2Action">
<result name="success">finish.jsp</result>
</action>
处于chain中的action属于同一个http请求,共享一个ActionContext
plaintextj 结果类型用于直接在页面上显示源代码
Xml代码:
<result name="err" type="plaintext">
<param name="location">具体的位置</param>
<param name="charSet">字符规范(如GBK)</param>
</result>
友情提示:
信息收集于互联网,如果您发现错误或造成侵权,请及时通知本站更正或删除,具体联系方式见页面底部联系我们,谢谢。
其他相似内容:
-
现在神经网络有什么的用途
神经网络听说不少了,可是就没听说应用什么上面了.
神经网络真的有作用吗?
------解决方案----------...
-
懂得DTP和测试的人过来指点哈
我现在招聘了两家公司一个是DTP排版,一个是博彦的软件测试在武汉,我想问哈哪个公司好一点?发展空间更...
-
SOS~~关于蚁群算法解决机器人路径规划问题的参数设置
rt。急求高人解答~·
有大大知道么?
各个常量参数的设置应该是怎样的?
...
-
我能学人工智能吗?
我对人工智能有点兴趣,本来想考研的时候选人工智能的研究方向的,但是由于我本科专业是软件工程,并没有学人工智能,...
-
如何用matlab编写模糊关系中的合成运算
如题,想请教各位高手,怎么来求两个矩阵的合成运算
------解决方案--------------------
...
-
用什么方法识别是不是人?
哪位大虾能指点:
我现想识别人和桌椅等,就是我现在想做一小实验,就是当人在他前它知道是人,把其他无生命的物...
-
ANFIS
谁有ANFIS MATLAB源代码啊?不胜感激
------解决方案--------------------
直接在help文件里面anfis就可以了撒
自己看看...
-
谁了解BP神经网络啊?
谁了解BP神经网络啊?
一个朋友写了篇论文,让我帮看看,修正一下。
可是我一点也不懂。丢人啊!
------解决方案---...
-
请问各位在哪里可以下载到 Visual Lisp 编程工具
本人最近正在学习人工智能,但是一直用VC++做为练习工具,现在想用一下Lisp,请求各位...
-
求BP仿真算法
网上只有大量的BP学习算法
我已经写了一个BP学习算法程序
网络可以训练成功
但是训练好的网络如何根据输入产生输...