更新時(shí)間:2016年08月29日17時(shí)30分 來(lái)源:傳智播客Java培訓(xùn)學(xué)院 瀏覽次數(shù):
已配置結(jié)果類(lèi)型名 | 類(lèi) 名 | 描 述 |
dispatcher | org.apache.struts2.dispatcher. ServletDispatcherResult |
默認(rèn)結(jié)果類(lèi)型,用來(lái)呈現(xiàn)JSP頁(yè)面 |
---|---|---|
chain | com.opensymphony.xwork2. ActionChainResult |
將action和另外一個(gè)action鏈接起來(lái) |
freemarker | org.apache.struts2.views.freemarker. FreemarkerResult |
呈現(xiàn)Freemarker模板 |
httpheader | org.apache.struts2.dispatcher. HttpHeaderResult |
返回一個(gè)已配置好的HTTP頭信息響應(yīng) |
redirect | org.apache.struts2.dispatcher. ServletRedirectResult |
將用戶(hù)重定向到一個(gè)已配置好的URL |
redirectAction | org.apache.struts2.dispatcher. ServletActionRedirectResult |
將用戶(hù)重定向到一個(gè)已定義好的action |
stream | org.apache.struts2.dispatcher. StreamResult |
將原始數(shù)據(jù)作為流傳遞回瀏覽器端, 該結(jié)果類(lèi)型對(duì)下載的內(nèi)容和圖片非常有用 |
velocity | org.apache.struts2.dispatcher. VelocityResult |
呈現(xiàn)Velocity模板 |
xslt | org.apache.struts2.views.xslt. XSLTResult |
呈現(xiàn)XML到瀏覽器, 該XML可以通過(guò)XSL模板進(jìn)行轉(zhuǎn)換 |
plaintext | org.apache.struts2.dispatcher. PlainTextResult |
返回普通文本類(lèi)容 |
簡(jiǎn)單說(shuō)明一下result的name屬性和type屬性:
SUCCESS:Action正確的執(zhí)行完成,返回相應(yīng)的視圖,success是name屬性的默認(rèn)值。
NONE:表示Action正確的執(zhí)行完成,但并不返回任何視圖。
ERROR:表示Action執(zhí)行失敗,返回到錯(cuò)誤處理視圖。
INPUT:Action的執(zhí)行,需要從前端界面獲取參數(shù),INPUT就是代表這個(gè)參數(shù)輸入的界面,一般在應(yīng)用中,會(huì)對(duì)這些參數(shù)進(jìn)行驗(yàn)證,如果驗(yàn)證沒(méi)有通過(guò),將自動(dòng)返回到該視圖。
LOGIN:Action因?yàn)橛脩?hù)沒(méi)有登陸的原因沒(méi)有正確執(zhí)行,將返回該登陸視圖,要求用戶(hù)進(jìn)行登陸驗(yàn)證。
dispatcher:請(qǐng)求轉(zhuǎn)發(fā),底層調(diào)用RequestDispatcher的forward()或include()方法,dispatcher是 type屬性的默認(rèn)值,通常用于轉(zhuǎn)向一個(gè)JSP。localtion指定JSP的位置,parse如果為false表示location的值不會(huì)被當(dāng)作 OGNL解析,默認(rèn)為true。
redirect:重定向,新頁(yè)面無(wú)法顯示Action中的數(shù)據(jù),因?yàn)榈讓诱{(diào)用response.sendRedirect("")方法,無(wú)法共享請(qǐng)求范圍內(nèi)的數(shù)據(jù),參數(shù)與dispatcher用法相同。
redirect-action:重定向到另一個(gè)Action,參數(shù)與chain用法相同,允許將原Action中的屬性指定新名稱(chēng)帶入新Action 中,可以在Result標(biāo)簽中添加 <param name=”b”>${a} </param>,這表示原Action中的變量a的值被轉(zhuǎn)給b,下一個(gè)Action可以在值棧中使用b來(lái)操作,注意如果值是中文,需要做一些編碼處理,因?yàn)?span style="padding-bottom: 0px; padding-top: 0px; padding-left: 0px; margin: 0px; padding-right: 0px">Tomcat默認(rèn)是不支持URL直接傳遞中文的!
velocity:使用velocity模板輸出結(jié)果,location指定模板的位置(*.vm),parse如果為false,location不被OGNL解析,默認(rèn)為true。
xslt:使用XSLT將結(jié)果轉(zhuǎn)換為xml輸出,location指定*.xslt文件的位置,parse如果為false,location不被 OGNL解析,默認(rèn)為true。matchingPattern指定想要的元素模式,excludePattern指定拒絕的元素模式,支持正則表達(dá)式,默認(rèn)為接受所有元素。
httpheader:根據(jù)值棧返回自定義的HttpHeader,status指定響應(yīng)狀態(tài)(就是指response.sendError(int i)重定向到500等服務(wù)器的狀態(tài)頁(yè))。parse如果為false,header的值不會(huì)被OGNL解析,headers,加入到header中的值,例如: <param name=”headers.a”>HelloWorld </param>??梢约佣鄠€(gè),這些鍵-值組成HashMap。
freemaker:用freemaker模板引擎呈現(xiàn)視圖,location指定模板(*.ftl)的位置,parse如果為false,location的值不會(huì)被OGNL解析。contentType指定以何中類(lèi)型解析,默認(rèn)為text/html。
chain:將action的帶著原來(lái)的狀態(tài)請(qǐng)求轉(zhuǎn)發(fā)到新的action,兩個(gè)action共享一個(gè)ActionContext,actionName指定轉(zhuǎn)向的新的Action的名字。method指定轉(zhuǎn)向哪個(gè)方法,namespace指定新的Action的名稱(chēng)空間,不寫(xiě)表示與原Action在相同的名稱(chēng)空間;skipActions指定一個(gè)使用 , 連接的Action的name組成的集合,一般不建議使用這種類(lèi)型的結(jié)果。
stream:直接向響應(yīng)中發(fā)送原始數(shù)據(jù),通常在用戶(hù)下載時(shí)使用,contentType指定流的類(lèi)型,默認(rèn)為 text/plain,contentLength以byte計(jì)算流的長(zhǎng)度,contentDisposition指定文件的位置,通常為 filename=”文件的位置”,input指定InputStream的名字,例如:imageStream,bufferSize指定緩沖區(qū)大小,默認(rèn)為1024字節(jié)。
plaintext:以原始文本顯示JSP或者HTML,location指定文件的位置,charSet指定字符集。
本文版權(quán)歸傳智播客Java培訓(xùn)學(xué)院所有,歡迎轉(zhuǎn)載,轉(zhuǎn)載請(qǐng)注明作者出處。謝謝!
作者:傳智播客Java培訓(xùn)學(xué)院
首發(fā):http://8y3kgpwe.cn/javaee
北京校區(qū)