chain
用来处理Action链将一个action的执行与另外一个配置好的action串连起来。用第一个action的getter方法和第二个action的setter方法来完成action之间属性的复制。 com.opensymphony.xwork2.ActionChainResult
dispatcher 用来转向JSP页面这是默认的结果类型假如在action配置中没有配置其他的结果类型它就会被使用 org.apache.struts2.dispatcher.ServletDispatcherResult
freemaker 处理FreeMarker模板 org.apache.struts2.views.freemarker.FreemarkerResult
httpheader 控制非凡HTTP行为的结果类型 org.apache.struts2.dispatcher.HttpHeaderResult
redirect 重定向到一个URL org.apache.struts2.dispatcher.ServletRedirectResult
redirectAction 重定向到一个Action org.apache.struts2.dispatcher.ServletActionRedirectResult
stream 向浏览器发送InputSream对象通常用来处理文件下载还可用于返回AJAX数据 org.apache.struts2.dispatcher.StreamResult
velocity 处理Velocity模板 org.apache.struts2.dispatcher.VelocityResult
xslt 处理XML/XLST模板 org.apache.struts2.views.xslt.XSLTResult
plainText 显示原始文件内容例如文件源代码 org.apache.struts2.dispatcher.PlainTextResult
redirect-action 重定向到一个Action org.apache.struts2.dispatcher.ServletActionRedirectResult
plaintext 显示原始文件内容例如文件源代码 org.apache.struts2.dispatcher.PlainTextResult
注redirect与redirect-action区别
一、使用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代码
1. <action name="enterpreinfo" class="preinfoBusinessAction" method="enterPreinfoSub">
2. <result name="success" type="redirect-action">
3. showpreinfo?preinfo.order_number=${preinfo.order_number}&preinfo.company_name=${preinfo.company_name}
4. </result>
5. <result name="error" type="redirect">
6. <param name="location">/error.jsp</param>
7. </result>
8. </action>
因为使用了redirect-action所以要注重不能将showpreinfpreinfo.order_number=${preinfo.order_number}写成showpreinf.actionpreinfo.order_number=${preinfo.order_number} 其中${}为EL表达式
获得actionenterpreinfo中属性的值在这个配置文件里多个参数的连接符使用了"&"但XML的语法规范应该使用"&"代替"&"原理和HTML中的转义相同.
redirect配置例子
<action name= "delete " class= "com.zeng.action.UserManageAction " method= "delete "> <result name= "success " type= "redirect-action ">
<param name= "actionName "> list </param>
<param name= "pageBean.pageNumber "> ${pageBean.pageNumber} </param>
</result>
</action>
或者
<action name= "delete " class= "com.zeng.action.UserManageAction " method= "delete "> <result type= "redirect "> list.action?pageBean.pageNumber=${pageBean.pageNumber} </result> </action>
理解Struts2框架中Action和结果类型的使用
本文深入探讨了Struts2框架中Action链、Dispatcher、Freemaker、HttpHeader、Redirect、Stream等结果类型的应用场景及区别,特别强调了redirect与redirect-action的区别,并提供了详细的XML配置示例。
3997

被折叠的 条评论
为什么被折叠?



