Struts2 action之间相互跳转传递参数


今天遇到一个问题,在Webwork 2.2里面给一个Action的result传多个参数:
原先配置如下

<action name="blahblahAction" class="blahAction" method="blah">
  <result name="success" type="redirect">/some.action?field1=${field1}&field2=${field2}</result>
</action>

运行时候出现如下提示:
The reference to entity "field2" must end with the ';' delimiter.
我本以为是OGNL的问题,四处搜寻,不得其解……看了DTD也没有发现问题。
后来修改过程中突然发现原来是SAX解析器出错,我这才想到可能是XML的问题。
经过再三查询得到解决方案:
使用"&amp;"代替"&",原理和HTML中的转义相同,我居然忘记了XML的语法规范,惭愧。
配置如下:

<action name="blahblahAction" class="blahAction" method="blah">
  <result name="success" type="redirect">/some.action?field1=${field1}&amp;field2=${field2}</result>

 下边是另外一个人的:

今天在用struts2在做项目时候,从一个action我想跳转到另一个action,并且呢得带上值。说说我的做法吧,首先你得在你的第一个action中这个id必须要有set、get方法。
跳转时你的struts.xml:
(方法一):
<result name="topic" type="redirect">/topicAction!findTopics.do?topicId=${topicId}</result>
(方法二):
<result name="topic" type="redirect-action">
  <param name="actionName">findTopics</param>
  <param name="topicId">${topicId}</param>
</result>

如果是多个参数的话,继续再加几个<param>就行了,对于(方法一)如果是多个参数的怎么办? <result name="topic" type="redirect">/topicAction!findTopics.do?topicId=${topicId}&amp;elementId=${elementId}</result>
这不就行了。

相关内容