2010.07.21——— struts2 redirectAction 传参问题

2010.07.21——— struts2 redirectAction 传参问题

参考:[url]http://blog.csdn.net/cmtobby/archive/2007/11/18/1891120.aspx[/url]

问题一:

[color=red]最近在Struts2中配置action时,经常要在配置文件中给一个页面或者action传递若干个参数[/color],如下面所示:

<action name="outHotelAction" class="com.mangocity.hotelOrderFlow.web.outHotelOrderAction">
<result name="outsourcing" type="redirect">/orderFlow/outHotelAction!initOrder.action?cancelOrderId=${forwordparam} </result>
</action>


如上所示,
cancelOrderId是我们通过url传递的一个参数名
forwordparam则是action中的一个实例变量,它具有相应的set和get方法。


问题二:

因为通常我只会传递一个,所以这样也没有问题。有一次碰到了要传2个参数的情况了,我就按照以前的习惯这样写: cancelOrderId=${forwordparam}&type=specialCancel
结果提示报错鸟,当然是 eclipse里面的xml校验报错咯。为什么这样写不行列?查了一下资料,又犯了经验注意错误啊。[color=red]在xml文件中&是属于特殊字符的,如果想表示&这个字符,需要对其进行转义[/color],因此我换了个写法,如下所示
cancelOrderId=${forwordparam}[color=red]&[/color] type=specialCancel
这样就ok了

另外一种写法:
<action name="delete_dt" class="com.huitu.action.domain.XiTongGuanLi_GongChengXiangMu" method="delete_dt">
<result type="redirectAction">
<param name="actionName">initGongCheng.action</param>
<param name="gcbm">${GCBM}</param>
<param name="flat">delete</param>
</result>
</action>


这将会传递给initGongCheng两个参数 一个是falt为“delete” 另一个是gcbm 值是delete_dt里面的一个属性 在initGongCheng可以获得:
String GCBM = request.getParameter("gcbm");
String flat = request.getParameter("flat");
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值