struts2中不同action之间进行传值的方法

14 篇文章 0 订阅
6 篇文章 0 订阅

关于在struts2中不同的action之间进行传值方法,我在此总结一下。

1.跳转类型type="chain"

    获取request   HttpRequest request =  ServletActionContext.getRequest();

    在action1中写request.setAttribute("userName", userName);

    在action2中写request.getAttribute("userName");就可获得action1中存入的值,如果跳转类型是其他(比如:redirectAction就无法获取,因为重定向以后不是request,所以request无法获取值);但是如果是chain类似于servlet中的跳转(转发forward)。是同一个request.


2.跳转类型type="chain"会将action1中的所有属性传递到action2,但是action2想要获取就必须拥有属性和对象get.set方法。
    
    在action2中写出action1需要传过来的属性和set.get方法。比如action2中需要userId.只需要写出userId和set,get方法就可以直接获取到值。

    1.2种方法其实类似,第一种是显示存储和获取。第二种是隐示的。


3.跳转类型是tyepe="redirect"

   可以使用<param name="actionName">loadDeviceEditList.action?eventID=${eventID}</param>类似于前台页面传值到后台的方法进行传值。但是务必注意在目标action中必须包含该属性的getter,setter方法

4.跳转类型是tyepe="redirect"

<param name="actionName">loadDeviceEditList.action</param>

<param name="username">${username}</param>

<param name="userpassword">${userpassword}</param>

         3.4中也类似3是把值和路径拼接,4是分开来。看个人喜好。

        如果只传少量的值建议使用1.3.4方法。如果需要action1中的所以值传到action2建议使用2方法。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值