1,在 Action中我们经常会从这个Action跳转到另一个Action中,这时我们就要用到redirect、redirect-action、chain,
其中redirect和redirect-action是重定向,相当于浏览器二次请求,之前的数据都会丢失,所有的参数、值栈和请求属性都会丢失。chain是服务器转发action,源Action的用户请求参数、值栈、session的数据赋值给目的Action,即在目的action中可以获得源action得到的请求参数值栈,session等数据。
当我们想在这两个action之间传递参数时:
a,使用链接加“?”的方式。如果想在请求的过程中添加参数可以像超链接传值一样在最后用"xx?xx=xx" 的形式来传递参数.
如:
<result name="reload" type="redirectAction">/manager/ managerInfo/account.action?参数名=参数值</result>,
如果这里的参数值不是一个固定值可以用"${参 数值}"这种OGNL表达式的形式获取,注意:这里的"参数值"在相应的Action中一定要提供get/set方法,否则将无法获得参数值,当然这里也同样可以取一个 对象的某个属性值即:${对象名.属性名},符合ONGL表达式访问规则,之前写过着方面的文章。
b,使用子元素的形式。
<span style="background-color: rgb(255, 255, 255);"><action name="action1" method="" class=""> <result name="success" type="chain"> <param name="actionName">action2</param> <param name="param1">${param1}</param> <param name="param2">${param2}</param> </result> </action> </span>
<action name="action1" method="" class=""> <result name="success" type="redirectAction">action2.action</result> </action>
2,struts2 action 向jsp页面传递参数问题
a,在jsp页面可以使用ONGL表达式访问action中的值栈等
b,可以使用request.setAttribute("key","value");session.setAttribute("key","value");在相应的jsp页面上可以使用OGNL表达式“#request.key”“#session.key”获取值。
版权声明:本文为博主原创文章,未经博主允许不得转载。
struts2中action向action之间传数据和action向jsp传数据理解
原文地址:http://blog.csdn.net/tuke_tuke/article/details/49833729