struts2的Action传参总结

来源:互联网 发布:mac pro 2016 尺寸 编辑:程序博客网 时间:2024/06/04 17:49
 

最近在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}&amp;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>

 

参考博客:

http://blog.csdn.net/tiantian511/article/details/4421102

http://blog.sina.com.cn/s/blog_7ca4f305010125mf.html