巨分求关于struts2如何从一个action中跳转执行另一个action中的一个方法,如何传参? 200

现在我这有2个action,一个是UserAction,另一个是TypeAction。UserAction中的用户登录方法中如果登录成功会有一个user对象,并且直接跳转... 现在我这有2个action,一个是UserAction,另一个是TypeAction。UserAction中的用户登录方法中如果登录成功会有一个user对象,并且直接跳转执行TypeAction中的一个关联的显示方法,需要用到user对象。
所以,我必须把UserAction中的user对象传到TypeAction中。
我在UserAction中配置了跳转视图,type用的是redirect,表示跳转执行名字为moneyType的Action的searchAllTypes方法
<result name="loginSuccessResult" type="redirect">moneyType_searchAllTypes
</result>
但是这样的话user对象没有传过去,而searchAllTypes方法是需要用到user对象。之所以用redirect类型跳转,是为了保证
浏览器的地址是指向searchAllTypes方法的地址,如果使用type="chain",虽然user对象的值过去,但是本质上这是转发,浏览器的
地址依旧指向的是登录方法不会改变,如果用户刷新当前页面的话,会变成继续重新登录一次,再查询(并且我已经做了登录保护,如果已经登录了该账户,那么其他人就无法在登录
,只有等当前用户退出),所以浏览器的地址必须指向新的。
同时,我也不能采用在moneyType_searchAllTypes后面直接加参数(moneyType_searchAllTypes?xx=xx)这种方式,因为这样的话,会直接在浏览器暴露我的参数名和方式
,moneyType_searchAllTypes?xx=xx
我希望的是既跳转(url有变化),同时user对象能传过去,并且不使用浏览器直接get的方式。
希望能有熟悉struts2的朋友帮助下,谢谢。
这是完整配置。
<action name="user_*" class="userAction" method="{1}">
<result name="loginSuccessResult" type="redirect">moneyType_searchAllTypes
</result>
</action>
<!-- moneyTyep的action -->
<action name="moneyType_*" class="moneyTypeAction" method="{1}">
<result name="searchAllSuccess">/pages/moneyTypeResult.jsp</result>
</action>
展开
 我来答
laixiao2001
2013-09-28 · 超过18用户采纳过TA的回答
知道答主
回答量:40
采纳率:0%
帮助的人:47.8万
展开全部
<action name="user_*" class="userAction" method="{1}">

<result name="success" type="redirectAction">
moneyType_searchAllTypes?user1=${user1}& amp;user2=${user2}
</result>
</action>

大概是这样的,多个参数用& amp;隔开,把空格去掉
更多追问追答
追问
额,我前面说了,不能直接以get方式提交
追答
那就是这种情况了,你试试

xxx
moneyType_searchAllTypes
${user1}
匿名用户
2013-09-29
展开全部
<action name="user_*" class="userAction" method="{1}">

<result name="success" type="redirectAction">
moneyType_searchAllTypes?us
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
人言可威吗
2013-09-28
知道答主
回答量:2
采纳率:0%
帮助的人:2724
展开全部
你的result标签里的type属性值改为redirectAction,后面写你要跳转的方法。
追问
没回答关键的地方,关键是要如何把user这个对象传过去?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
Luke572839485
2013-09-28 · 超过13用户采纳过TA的回答
知道答主
回答量:136
采纳率:0%
帮助的人:39.6万
展开全部
<result name="loginSuccessResult" type="chain">Action名称!action中的方法.action
</result>
追问
请看清我的需求说明,谢谢~~
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式