在struts2中多个action间如何传递ActionError及actionmessage?

gudaoxuri 2008-08-28
在struts2中多个action间如何传递ActionError及actionmessage?
我struts.xml的定义:

<result name="input" type="redirect-action">adminGLZF!update?adminId=${adminId}   
         </result>        
 



这个问题出现在对某一个管理员(或文章)信息的修改上,如果修改的信息不全或不正确就调用input返回并提示相应的错误信息。

如果不用type="redirect-action"的话那返回的就不会带有adminId这个参数,也就不知道对哪一个管理员修改了。

我在csdn及本网的问答上问都没得到满意的回复呀。 
gudaoxuri 2008-08-29
都没什么想法吗?
z95001188 2008-08-29
必须得带
type="redirect-action" 这个属性
gudaoxuri 2008-08-29
z95001188 写道
必须得带
type="redirect-action" 这个属性


如果chain这些可以的话也可以呀,要能有一个类似应用的示例就好了。
modun 2008-08-30
这样嘛, 你写的那个 action 实现 sessionAware 接口  把你需要的那些东西写在 session 里面
kyo100900 2008-09-01
引用
<result name="input" type="redirect-action">adminGLZF!update?adminId=${adminId}   
         </result>        
 



为什么验证失败了还要 redirect-action 一下? 直接返回 dispatcher 到 input页面不好吗?
tangjunchf 2008-09-01
我也遇到了,期待高手解决,而且我发现如果使用chain的话,跳转路径中使用namespace 的话,好象不行....
zhuzidian 2008-09-02
kyo100900 写道
引用
<result name="input" type="redirect-action">adminGLZF!update?adminId=${adminId}   
         </result>        
 



为什么验证失败了还要 redirect-action 一下? 直接返回 dispatcher 到 input页面不好吗?


但是如果在进入input页面之前还经过了一个action(例如为了取数据), 那就不能直接dispatcher 到 input页面啦, 而是要重新经过一个action吧, 但是要经过一个action就要redirect-action 一下, ActionError和FieldError等就不见了, 所以很矛盾...
meadlai 2008-09-04
我在BaseAction里面定义了两个变量,都放在session中的
backPath,和tips
调用setBackPath(),可以自动将当前地址存到session中,

<result name="input" type="redirect-action">${backPath}</result> 
littledodo 2008-09-04
我是这样处理的,当然也不规范,但可以解决问题:
在aAction里如果有错误把一个标志位放到request里
在bAction里判断如果request里有这个标志就认为是从aAction过来的,然后addActionErr

这样你的adminId也可以传递了
Global site tag (gtag.js) - Google Analytics