教育行業(yè)A股IPO第一股(股票代碼 003032)

全國(guó)咨詢(xún)/投訴熱線:400-618-4000

Java培訓(xùn)之Struts2 result type(結(jié)果類(lèi)型)

更新時(shí)間:2016年08月29日17時(shí)30分 來(lái)源:傳智播客Java培訓(xùn)學(xué)院 瀏覽次數(shù):

Struts2框架提供的結(jié)果類(lèi)型

已配置結(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

0 分享到:
和我們?cè)诰€交談!