程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> JAVA編程 >> 關於JAVA >> Struts2 Result 參數詳解

Struts2 Result 參數詳解

編輯:關於JAVA

Struts2 Result 參數詳解。本站提示廣大學習愛好者:(Struts2 Result 參數詳解)文章只能為提供參考,不一定能成為您想要的結果。以下是Struts2 Result 參數詳解正文


一個提交到辦事器的處置平日可以分為兩個階段,第一個階段查詢辦事器狀況(查詢或許更新數據庫),第二個階段選擇一個適合的成果頁面其前往給用戶(這裡要講的Result的內容)。
Struts2供給了對分歧品種前往成果的支撐,罕見的有JSP,FreeMarker,Velocity等。

Struts2支撐的分歧類型的前往成果為:

名字 解釋 Chain Result 用來處置Action鏈 Dispatcher Result 用來轉向頁面,平日處置JSP FreeMarker Result 處置FreeMarker模板 HttpHeader Result 用來掌握特別的Http行動 Redirect Result 重定向到一個URL Redirect Action Result 重定向到一個Action Stream Result 向閱讀器發送InputSream對象,平日用來處置文件下載 Velocity Result 處置Velocity模板 XLS Result 處置XML/XLST模板 PlainText Result 顯示原始文件內容,例如文件源代碼 S2PLUGINS:Tiles Result 聯合Tile應用

別的第三方的Result類型還包含JasperReports Plugin,專門用來處置JasperReport類型的報表輸入。

在struts-default.xml文件中曾經有了關於一切類型Result的界說:

<result-types>
<result-type name="chain"
class="com.opensymphony.xwork2.ActionChainResult"/>
<result-type name="dispatcher"
class="org.apache.struts2.dispatcher.ServletDispatcherResult"
default="true"/>
<result-type name="freemarker"
class="org.apache.struts2.views.freemarker.FreemarkerResult"/>
<result-type name="httpheader"
class="org.apache.struts2.dispatcher.HttpHeaderResult"/>
<result-type name="redirect"
class="org.apache.struts2.dispatcher.ServletRedirectResult"/>
<result-type name="redirectAction"
class="org.apache.struts2.dispatcher.ServletActionRedirectResult"/>
<result-type name="stream"
class="org.apache.struts2.dispatcher.StreamResult"/>
<result-type name="velocity"
class="org.apache.struts2.dispatcher.VelocityResult"/>
<result-type name="xslt"
class="org.apache.struts2.views.xslt.XSLTResult"/>
<result-type name="plainText"
class="org.apache.struts2.dispatcher.PlainTextResult" />
<!-- Deprecated name form scheduled for removal in Struts 2.1.0.
The camelCase versions are preferred. See ww-1707 -->
<result-type name="redirect-action"
class="org.apache.struts2.dispatcher.ServletActionRedirectResult"/>
<result-type name="plaintext"
class="org.apache.struts2.dispatcher.PlainTextResult" />
</result-types>

從上述代碼中可以看出在不指定Result類型的時刻應用dispatcher類型。

界說一個Result值,

<result name="success" type="dispatcher">
<param name="location">/ThankYou.jsp</param>
</result>

因為type默許值是dispatcher,所以這裡不須要界說,別的name的默許值為success所以這裡也不須要界說。
上述代碼可以簡寫為:

<result>
<param name="location">/ThankYou.jsp</param>

</result>

別的location參數也能夠直接卸載result標簽外部,所以上述代碼的最簡略的寫法為:

<result>/ThankYou.jsp</result>

我們也能夠界說多個分歧的Result

<action name="Hello">
<result>/hello/Result.jsp</result>
<result name="error">/hello/Error.jsp</result>
<result name="input">/hello/Input.jsp</result>
</action>

上述代碼的寄義為,名字為Hello的Action有三個前往成果,而且都是dispatcher類型(默許類型), 這三個前往值的名字分離為 success(默許值),error,input,對應的頁面的途徑分離為/hello/Result.jsp,/hello/Error.jsp, /hello/Input.jsp。
有些時刻我們須要一個界說在全局的Result,這個時刻我們可以在package外部界說全局的Result,例如:

<global-results>
<result name="error">/Error.jsp</result>
<result name="invalid.token">/Error.jsp</result>
<result name="login" type="redirect-action">Logon!input</result>
</global-results>

靜態前往成果

有些時刻,只要當Action履行完璧的時刻我們才曉得要前往哪一個成果,這個時刻我們可以在Action外部界說一個屬性,這個屬性用來存儲Action履行完璧以後的Result值,例如:

private String nextAction;
public String getNextAction() {
 return nextAction;
}

在strutx.xml設置裝備擺設文件中,我們可使用${nextAction}來援用到Action中的屬性,經由過程${nextAction}表現的內容來靜態的前往成果,例如:

<action name="fragment" class="FragmentAction">
<result name="next" type="redirect-action">${nextAction}</result>
</action>

上述Action的execute辦法前往next的時刻,還須要依據nextAction的屬性來斷定詳細定位到哪一個Action。
假如想轉發到別的個action可以設置type=chain 同時成果不加shtml

以上就是Struts2 Result 參數詳解的全體內容,願望能給年夜家一個參考,也願望年夜家多多支撐。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved