struts2 中如何在action之间传递对象。。
有两个action,FirstAction需要传递一个叫user的对象给SecondAction。SecondAction中有多个方法需要用到user对象。不知道怎么做,...
有两个action , FirstAction 需要传递一个叫 user 的对象给SecondAction 。 SecondAction中有多个方法需要用到user 对象。 不知道怎么做, 望各位大牛指导一下。
展开
6个回答
2015-12-15 · 做真实的自己 用良心做教育
千锋教育
千锋教育专注HTML5大前端、JavaEE、Python、人工智能、UI&UE、云计算、全栈软件测试、大数据、物联网+嵌入式、Unity游戏开发、网络安全、互联网营销、Go语言等培训教育。
向TA提问
关注
展开全部
struts2使用chain的方式会保留请求参数
<action name="addCommentPro" class="addCommentAction">
<interceptor-ref name="authorityStack"/>
<result type="chain">viewCommentPro</result>
</action>
当使用redirectAction时,会发生重定向,参数会丢失,可以使用以下两种方式传递参数,两种方法下目标Action都必须有对应属性的getter,setter方法
param方式:
<action name="addCommentPro" class="addCommentAction">
<interceptor-ref name="authorityStack"></interceptor-ref>
<result type="redirectAction">
<param name="actionName">viewCommentPro</param>
<param name="aid">${aid}</param>
</result>
</action>
直接传递:
<action name="addCommentPro" class="addCommentAction">
<interceptor-ref name="authorityStack"></interceptor-ref>
<result type="redirectAction">viewCommentPro?aid=${aid}</result>
</action>
从上面看出,在struts.xml里调用OGNL表达式并不是使用%{}而是使用${},这和EL表达式在JSP页面中的用法一样。
<action name="addCommentPro" class="addCommentAction">
<interceptor-ref name="authorityStack"/>
<result type="chain">viewCommentPro</result>
</action>
当使用redirectAction时,会发生重定向,参数会丢失,可以使用以下两种方式传递参数,两种方法下目标Action都必须有对应属性的getter,setter方法
param方式:
<action name="addCommentPro" class="addCommentAction">
<interceptor-ref name="authorityStack"></interceptor-ref>
<result type="redirectAction">
<param name="actionName">viewCommentPro</param>
<param name="aid">${aid}</param>
</result>
</action>
直接传递:
<action name="addCommentPro" class="addCommentAction">
<interceptor-ref name="authorityStack"></interceptor-ref>
<result type="redirectAction">viewCommentPro?aid=${aid}</result>
</action>
从上面看出,在struts.xml里调用OGNL表达式并不是使用%{}而是使用${},这和EL表达式在JSP页面中的用法一样。
展开全部
有几种解决方案,我认为最好用的是,建立一个Action父类,在里面定义一个map,把想要的数据存在map里,然后其他需要数据的类去继承这个Action父类
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
两种存储到session的方法:(也可存储到request)
ServletActionContext.getRequest().getSession().setAttribute("AZ", message);
ActionContext.getContext().getSession().put("BY", info);
ServletActionContext.getRequest().getSession().setAttribute("AZ", message);
ActionContext.getContext().getSession().put("BY", info);
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
<result name="TurnTOSecondAction " type="chain">这种结果集是指用请求转发的形式跳转到action action中的变量都会传递到下一个action
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
在struct的配置文件里用chain去配置跳转,在跳转前将Use对象存到request里面,在SecondAction里面去取
<action name="FirstAction" class="com.*.FirstAction">
<result name="TurnTOSecondAction " type="chain">
<param name="actionName">SecondAction</param>
</result>
</action>
<action name="SecondAction" .......>
.....................
</action>
<action name="FirstAction" class="com.*.FirstAction">
<result name="TurnTOSecondAction " type="chain">
<param name="actionName">SecondAction</param>
</result>
</action>
<action name="SecondAction" .......>
.....................
</action>
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询