在struts2框架中,當action處理完之後,就應該向使用者返回結果資訊,該任務被分為兩部分:結果型別和結果本身。
結果型別提供了返回給使用者資訊型別的實現細節。結果型別通常在struts2中就已預定義好了(見下表),或者是由外掛程式提供,開發人員也可以自定義結果型別。預設配置的結果型別是dispatcher,該結果型別使用jsp來向使用者顯示結果。當定義了結果型別之後,該結果型別可以在不同的action中重複使用。
struts2框架提供的結果型別
已配置結果型別名
類 名描 述
dispatcher
org.apache.struts2.dispatcher.
servletdispatcherresult
預設結果型別,用來呈現jsp頁面
chain
com.opensymphony.xwork2.
actionchainresult
將action和另外乙個action鏈結起來
freemarker
org.apache.struts2.views.freemarker.
freemarkerresult
呈現freemarker模板
返回乙個已配置好的http頭資訊響應
redirect
org.apache.struts2.dispatcher.
servletredirectresult
將使用者重定向到乙個已配置好的url
redirectaction
org.apache.struts2.dispatcher.
servletactionredirectresult
將使用者重定向到乙個已定義好的action
stream
org.apache.struts2.dispatcher.
streamresult
velocity
org.apache.struts2.dispatcher.
velocityresult
呈現velocity模板
xslt
org.apache.struts2.views.xslt.
xsltresult
呈現xml到瀏覽器,
該xml可以通過xsl模板進行轉換
plaintext
org.apache.struts2.dispatcher.
plaintextresult
返回普通文字類容
簡單說明一下result的name屬性和type屬性:
success:action正確的執行完成,返回相應的檢視,success是name屬性的預設值。
none:表示action正確的執行完成,但並不返回任何檢視。
error:表示action執行失敗,返回到錯誤處理檢視。
input:action的執行,需要從前端介面獲取引數,input就是代表這個引數輸入的介面,一般在應用中,會對這些引數進行驗證,如果驗證沒有通過,將自動返回到該檢視。
login:action因為使用者沒有登陸的原因沒有正確執行,將返回該登陸檢視,要求使用者進行登陸驗證。
dispatcher:請求**,底層呼叫requestdispatcher的forward()或include()方法,dispatcher是 type屬性的預設值,通常用於轉向乙個jsp。localtion指定jsp的位置,parse如果為false表示location的值不會被當作 ognl解析,預設為true。
redirect:重定向,新頁面無法顯示action中的資料,因為底層呼叫response.sendredirect("")方法,無法共享請求範圍內的資料,引數與dispatcher用法相同。
redirect-action:重定向到另乙個action,引數與chain用法相同,允許將原action中的屬性指定新名稱帶入新action 中,可以在result標籤中新增 $ ,這表示原action中的變數a的值被轉給b,下乙個action可以在值棧中使用b來操作,注意如果值是中文,需要做一些編碼處理,因為tomcat
預設是不支援url直接傳遞中文的!
velocity:使用velocity模板輸出結果,location指定模板的位置(*.vm),parse如果為false,location不被ognl解析,預設為true。
xslt:使用xslt將結果轉換為xml輸出,location指定*.xslt檔案的位置,parse如果為false,location不被 ognl解析,預設為true。matchingpattern指定想要的元素模式,excludepattern指定拒絕的元素模式,支援正規表示式,預設為接受所有元素。
httpheader:根據值棧返回自定義的httpheader,status指定響應狀態(就是指response.senderror(int i)重定向到500等伺服器的狀態頁)。parse如果為false,header的值不會被ognl解析,headers,加入到header中的值,例如: helloworld 。可以加多個,這些鍵-值組成hashmap。
freemaker:用freemaker模板引擎呈現檢視,location指定模板(*.ftl)的位置,parse如果為false,location的值不會被ognl解析。contenttype指定以何中型別解析,預設為text/html
Struts 2 Struts2 詳細配置
全域性配置 配置在packe 中,所有 action 的上面。頁面 頁面 區域性結果優先順序高於全域性。異常資訊配置 404異常 500異常 web.xml 配置 404 error.jsp 500 error.jsp 包 package 配置 所有的action 配置,都必須在包中。jsp頁面路徑...
Struts2字尾 深入Struts2
一 將action字尾變成html字尾 xmlversion 1.0 encoding utf 8 doctype struts public apache software foundation dtd struts configuration 2.1 en struts include file...
Struts2入門(一)Struts2簡介
本章簡要介紹一下struts2框架 1.概念 我們知道,springmvc框架是為了整合servlet設計的控制層框架,那麼還有其他的框架也實現了這個功能,那麼就是struts2。struts2是乙個基於mvc設計模式的web應用框架,它本質上相當於乙個servlet,在mvc設計模式中,strut...