struts2 result type 結果型別

2021-06-21 22:11:25 字數 2659 閱讀 5772

在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...