struts2 中action返回的型別

2021-06-18 12:24:09 字數 2661 閱讀 3082

在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模板

或者html,location指定檔案的位置,charset指定字符集。

struts2配置action驗證

背景 接昨天的struts2框架搭建 新增對action關聯form表單中input框輸入的內容進行校驗 操作測試完成後文件如下圖 使用者名稱不能為空 使用者名稱輸入不合法,必須為長度在6 16中間的數字或字母 true 密碼不能為空 密碼輸入不合法,必須為長度在6 16之間的數字或者字母 總結 配...

struts2配置預設Action

作用 當乙個請求無法匹配到任何乙個struts的action時,可以配置乙個預設action 例如 當請求路徑不正確時,跳轉到乙個404.jsp頁面 package extends struts default name default namespace default action ref na...

struts2中Action資料繫結幾種方法

struts2中的action接收表單傳遞過來的引數有3種方法 1 在action類中定義表單屬性 如,登陸表單login.jsp 在action中定義兩個屬性 private string username private string password 提供setter,getter方法。即可接...