一、使用redirect需要后缀名,使用redirect-action不需要后缀名。
二、type=“redirect” 的值可以转到其它命名空间下的Action,而redirect-action只能转到同一命名空间的action,因此它可以省略.action的后缀直接写action的名称。如:
<result name="success" type="redirect">viewTask.action</result>
<result name="success" type="redirect-action">viewTask</result>
附:redirect-action传递参数
Xml代码
<action name="enterpreinfo" class="preinfoBusinessAction" method=“enterPreinfoSub”>
<result name="success" type="redirect-action">showpreinf ? preinfo.order_number=${preinfo.order_number}</result>
<reslut name="error" type="redirect">
<param name="location">/error.jsp</param>
</result>
</action>
因为使用了redirect-action,所以要注意不能将showpreinf ? preinfo.order_number=${preinfo.order_number} 写成 showpreinf.action ? preinfo.order_number=${preinfo.order_number} 其中${}为EL表达式,获取action:enterpreinfo中属性的值;在这个配置文件里,多个参数的连接符使用了"&",但XML的语法规范,应该使用"&"代替"&",原理和HTML中的转义相同,开始没有注意,在struts分析配置文件时,总是报出这样的错误;