1 配置result
result的目的就是告訴struts2框架,在執行完乙個action後,需要系統做什麼?是把乙個檢視資源呈現給使用者還是執行另外乙個action,result配置起到了乙個「路標」的作用。
result按照作用域範圍可以分為區域性result和全域性result。
區域性result:包含在action定義中, result屬性是乙個action的子元素。其作用範圍只能在本action中。
全域性result:使用來定義,其作用範圍是所有的action都可以使用。
其中type指定了result的型別,預設是dispatcher,該型別支援jsp檢視技術。
對應子元素,可以指定下面兩個屬性:
location:該屬性定義了該檢視對應的實際檢視資源
parse:該引數指定是否可以在實際檢視名字中使用ognl表示式,struts2框架預設該屬性為true,即支援ognl表示式。
如果沒有指定result的name屬性,則系統會預設為success;如果沒有指定location屬性,系統會把中間的字串當作實際檢視資源來處理。
2 result的型別
struts2框架預設配置中已經提供了很多的result型別,可以開啟struts-default.xml配置檔案來檢視。
chain:action鏈式處理的結果型別,也就是將結果**到這個action中。
chart:整合jfreechart的結果型別
dispatcher:用於整合jsp的結果型別
freemarker:用於整合freemarker結果型別。
httpheader:用於控制特殊的http行為的結果型別。
jasper:用於jasperreports整合的結果型別
jsf:用於整合jsf後的結果型別
redirect:實際上dispatcher和redirect的區別就是在於**和重定向的區別。
redirect-action:用於直接redirect action。
tiles:用於整合tiles後的結果型別。
velocity:用於整合velocity的結果型別。
xslt:用於整合xml lt的結果型別。
plaintext:用於顯示某個頁面的源**。
chain型別
struts2框架支援配置多個action組成乙個鏈或者工作流來處理使用者的請求,而action鏈的實現,是通過***chaininginterceptor完成的。 chaininginterceptor在源執行完畢後,將源action的使用者請求引數、值棧、session的資料賦值給目的action,也就是說,在執行多個action過程中,引數都是保留的。struts2框架並不推薦開發者使用這種action鏈式的結果型別,該框架推薦使用redirect-action型別。
redirect型別
redirect結果型別與struts2框架預設的結果型別dispatcher相對應。 到dispatcher型別是將請求**到指定的檢視資源,而redirect型別是重定向到指定的檢視資源。重定向將會丟失所有的引數、值棧和請求屬性,即同時失去了action的處理結果。而dispatcher是型別**,將會把上述的所有資料資源**給檢視資源
redirect-action型別
redirect-action結果型別與redirect結果型別非常相似,都是重新生成乙個新的請求,都是重新定向。
Struts2 action跳轉時帶引數跳轉
在實現action跳轉到另乙個action時,需要攜帶引數,可以直接在struts.xml配置檔案中對應的跳轉action的地方加上,引數的配置,用ognl表示式,可以從session中取值。如果要傳遞兩個引數,中間用 代替 xml中 要轉義 eg check checkpage.action?ei...
struts2 action 配置方法
struts2 action幾乎完全吸收了xwork 的精華,近日學習struts 2,總結一下action的配製方法。首先看一下com.opensymphony.xwork2.action的介面宣告,action提供execute 方法,子類必須實現execute 方法。public inte c...
struts2 action中result引數詳解
chain 用來處理action鏈 com.opensymphony.xwork2.actionchainresult dispatcher 用來轉向頁面,通常處理jsp org.apache.struts2.dispatcher.servletdispatcherresult freemaker ...