最近在Struts2中配置action时,经常要在配置文件中给一个页面或者action传递若干个参数,如下面所示:
<action name="GetStudent" class="com.xy.StudentAction">
<result name="stu" type="redirect">
/orderFlow/student!get.action?stuId=${stuId}
</result>
</action>
stuId是我们通过url传递的一个参数名,stuId则是action中的一个实例变量,它具有相应的set和get方法。因为通常我只会传递一个,所以这样也没有问题。
有一次碰到了要传2个参数的情况了,我就按照以前的习惯这样写:stuId=${stuId}&type=${type},结果报错,当然是eclipse里面的xml校验报错咯。
查了一下资料,又犯了经验注意错误啊。在xml文件中&是属于特殊字符的,如果想表示&这个字符,需要对其进行转义,因此我换了个写法,如下所示stuId=${stuId}&type=${type}。
还有一种做法
<action name="addcontacter" class="contactAction" method="addContacter">
<result type="redirectAction">
<param name="actionName">contacter</param>
<param name="con_id">${con_id}</param>
<param name="name">${name}</param>
</result>
</action>
参考博客: