chain???
????? 用來處理Action鏈,將一個(gè)action的執(zhí)行與另外一個(gè)配置好的action串連起來。用第一個(gè)action的getter方法和第二個(gè)action的setter方法來完成action之間屬性的復(fù)制。?
??? com.opensymphony.xwork2.ActionChainResult??
?
dispatcher?????
??? 用來轉(zhuǎn)向JSP頁面,這是默認(rèn)的結(jié)果類型,如果在action配置中沒有配置其他的結(jié)果類型,它就會(huì)被使用???
??? org.apache.struts2.dispatcher.ServletDispatcherResult??
?
freemaker???
????? 處理FreeMarker模板???
????? org.apache.struts2.views.freemarker.FreemarkerResult??
?
httpheader???
????? 控制特殊HTTP行為的結(jié)果類型?????
???? org.apache.struts2.dispatcher.HttpHeaderResult??
?
redirect???
????? 重定向到一個(gè)URL?????
????? org.apache.struts2.dispatcher.ServletRedirectResult??
?
redirectAction???
??? 重定向到一個(gè)Action???
??? org.apache.struts2.dispatcher.ServletActionRedirectResult??
?
stream???
????? 向?yàn)g覽器發(fā)送InputSream對象,通常用來處理文件下載,還可用于返回AJAX數(shù)據(jù)???
???? org.apache.struts2.dispatcher.StreamResult??
?
velocity?? stream?? redirectAction?? redirect?? httpheader?? freemaker? dispatcher chain?
????? 處理Velocity模板???
???? org.apache.struts2.dispatcher.VelocityResult??
?
xslt???
???? 處理XML/XLST模板???
???? org.apache.struts2.views.xslt.XSLTResult??
?
plainText???
????? 顯示原始文件內(nèi)容,例如文件源代碼???
??? org.apache.struts2.dispatcher.PlainTextResult??
?
redirect-action?? plainText?? xslt?? velocity?? stream?? redirectAction?? redirect?? httpheader?? freemaker? dispatcher chain?
????? 重定向到一個(gè)Action???
???? org.apache.struts2.dispatcher.ServletActionRedirectResult??
?
plaintext???
???? 顯示原始文件內(nèi)容,例如文件源代碼???
???? org.apache.struts2.dispatcher.PlainTextResult?

注:redirect與redirect-action區(qū)別

一、使用redirect需要后綴名 使用redirect-action不需要后綴名

二、type="redirect" 的值可以轉(zhuǎn)到其它命名空間下的action,而redirect-action只能轉(zhuǎn)到同一命名空下的 action,因此它可以省略.action的后綴直接寫action的名稱。

如:

<result name="success" type="redirect">viewTask.action</result>

<result name="success" type="redirect-action">viewTask</result>

附:redirect-action 傳遞參數(shù)

Xml代碼

  1. <action?name="enterpreinfo"?class="preinfoBusinessAction"????method="enterPreinfoSub">??
  2. ??<result?name="success"?type="redirect-action">??
  3. ?????showpreinfo?preinfo.order_number=${preinfo.order_number}&amp;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>??

? ?因?yàn)槭褂昧藃edirect-action,所以要注意不能將showpreinf?preinfo.order_number=${preinfo.order_number}寫成showpreinf.action?preinfo.order_number=${preinfo.order_number}

其中${}為EL表達(dá)式,獲取action:enterpreinfo中屬性的值;在這個(gè)配置文件里,多個(gè)參數(shù)的連接符使用了"&amp;",但XML的語法規(guī)范,應(yīng)該使用"&amp;"代替"&",原理和HTML中的轉(zhuǎn)義相同.

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>