在Action之间传递参数有如下方法:
(方法一):
Xml代码
1. <result name="topic" type="redirect">findTopics.action?topicId=${topicId}</result>
(方法二):
Xml代码
1. <result name="topic" type="redirect-action">
2. <param name="actionName">findTopics</param>
3. <param name="topicId">${topicId}</param>
4. </result>
如果是多个参数的话,继续再加几个<param>就行了,对于(方法一)如果是多个参数的怎么办?
Xml代码
1. <result name="topic" type="redirect">findTopics.action?topicId=${topicId}& ;elementId=${elementId}</result>
使用redirect重置链接需要后缀名,使用了redirect-action就不能使用了,就例如使用chain一样,只需要写action的配置名,如果加入后缀名.action,就会报出异常,action未配置正确。在这个配置文件里,多个参数的连接符使用了"& ;"(分号要挨着amp,此处由于转义无法正常书写故添加空格),这是由于XML的语法规范,应该使用"& ;"代替"&",原理和HTML中的转义相同。
chain 用于把相关的几个action连接起来,共同完成一个功能。
Java代码
1. <action name="step1" class="test.Step1Action">
2. <result name="success" type="chain">step2.action</result>
3. </action>
4. <action name="step2" class="test.Step2Action">
5. <result name="success">finish.jsp</result>
6. </action>
处于chain中的action属于同一个http请求,共享一个ActionContext。