更新時間:2016年08月29日17時30分 來源:傳智播客Java培訓(xùn)學(xué)院 瀏覽次數(shù):
已配置結(jié)果類型名 | 類 名 | 描 述 |
dispatcher | org.apache.struts2.dispatcher. ServletDispatcherResult |
默認(rèn)結(jié)果類型,用來呈現(xiàn)JSP頁面 |
---|---|---|
chain | com.opensymphony.xwork2. ActionChainResult |
將action和另外一個action鏈接起來 |
freemarker | org.apache.struts2.views.freemarker. FreemarkerResult |
呈現(xiàn)Freemarker模板 |
httpheader | org.apache.struts2.dispatcher. HttpHeaderResult |
返回一個已配置好的HTTP頭信息響應(yīng) |
redirect | org.apache.struts2.dispatcher. ServletRedirectResult |
將用戶重定向到一個已配置好的URL |
redirectAction | org.apache.struts2.dispatcher. ServletActionRedirectResult |
將用戶重定向到一個已定義好的action |
stream | org.apache.struts2.dispatcher. StreamResult |
將原始數(shù)據(jù)作為流傳遞回瀏覽器端, 該結(jié)果類型對下載的內(nèi)容和圖片非常有用 |
velocity | org.apache.struts2.dispatcher. VelocityResult |
呈現(xiàn)Velocity模板 |
xslt | org.apache.struts2.views.xslt. XSLTResult |
呈現(xiàn)XML到瀏覽器, 該XML可以通過XSL模板進(jìn)行轉(zhuǎn)換 |
plaintext | org.apache.struts2.dispatcher. PlainTextResult |
返回普通文本類容 |
簡單說明一下result的name屬性和type屬性:
SUCCESS:Action正確的執(zhí)行完成,返回相應(yīng)的視圖,success是name屬性的默認(rèn)值。
NONE:表示Action正確的執(zhí)行完成,但并不返回任何視圖。
ERROR:表示Action執(zhí)行失敗,返回到錯誤處理視圖。
INPUT:Action的執(zhí)行,需要從前端界面獲取參數(shù),INPUT就是代表這個參數(shù)輸入的界面,一般在應(yīng)用中,會對這些參數(shù)進(jìn)行驗證,如果驗證沒有通過,將自動返回到該視圖。
LOGIN:Action因為用戶沒有登陸的原因沒有正確執(zhí)行,將返回該登陸視圖,要求用戶進(jìn)行登陸驗證。
dispatcher:請求轉(zhuǎn)發(fā),底層調(diào)用RequestDispatcher的forward()或include()方法,dispatcher是 type屬性的默認(rèn)值,通常用于轉(zhuǎn)向一個JSP。localtion指定JSP的位置,parse如果為false表示location的值不會被當(dāng)作 OGNL解析,默認(rèn)為true。
redirect:重定向,新頁面無法顯示Action中的數(shù)據(jù),因為底層調(diào)用response.sendRedirect("")方法,無法共享請求范圍內(nèi)的數(shù)據(jù),參數(shù)與dispatcher用法相同。
redirect-action:重定向到另一個Action,參數(shù)與chain用法相同,允許將原Action中的屬性指定新名稱帶入新Action 中,可以在Result標(biāo)簽中添加 <param name=”b”>${a} </param>,這表示原Action中的變量a的值被轉(zhuǎn)給b,下一個Action可以在值棧中使用b來操作,注意如果值是中文,需要做一些編碼處理,因為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)頁)。parse如果為false,header的值不會被OGNL解析,headers,加入到header中的值,例如: <param name=”headers.a”>HelloWorld </param>??梢约佣鄠€,這些鍵-值組成HashMap。
freemaker:用freemaker模板引擎呈現(xiàn)視圖,location指定模板(*.ftl)的位置,parse如果為false,location的值不會被OGNL解析。contentType指定以何中類型解析,默認(rèn)為text/html。
chain:將action的帶著原來的狀態(tài)請求轉(zhuǎn)發(fā)到新的action,兩個action共享一個ActionContext,actionName指定轉(zhuǎn)向的新的Action的名字。method指定轉(zhuǎn)向哪個方法,namespace指定新的Action的名稱空間,不寫表示與原Action在相同的名稱空間;skipActions指定一個使用 , 連接的Action的name組成的集合,一般不建議使用這種類型的結(jié)果。
stream:直接向響應(yīng)中發(fā)送原始數(shù)據(jù),通常在用戶下載時使用,contentType指定流的類型,默認(rèn)為 text/plain,contentLength以byte計算流的長度,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)載請注明作者出處。謝謝!
作者:傳智播客Java培訓(xùn)學(xué)院
首發(fā):http://m.fskzgqt.cn/javaee