Struts2教程


Apache Struts 2 是一種流行的 Java模型 - 視圖 - 控制器(MVC)框架,成功地結合了 WebWork和Struts1.x 兩種 web 框架。

Apache Struts2與Struts1完全不同,它的核心功能都是使用攔截實現「值棧」的概念,OGNL表達式和Struts2標籤來解決應用程序數據,很多註解和約定,使這個框架更加易於使用。 在本教程中,它提供了許多使用Struts2的MVC框架的實例和解釋。

歡迎來到易百教程學習Struts2。

Struts2 快速入門

Struts2快速入門的例子。

  • Struts 2 hello world (XML版本)
    使用XML文件的Struts 2 Hello World 示例
  • Struts 2 Hello World (註解版本)
    使用註釋的Struts 2 Hello World 示例
  • @ResultPath 註釋示例
    @ResultPath 註釋說明和示例

Struts2 配置

任何關於 Struts2 的配置文件。

  • 多個Struts配置文件示例
    拆分大的Struts配置文件分成多個小的配置文件。
  • Struts2 命名空間配置和解釋
    Struts2命名空間是一個新的概念,用來處理多個模塊,由下式給出一個命名空間對應的每個模塊。
  • Struts2開發模式
    啓用了Struts2開發模式將會使調試變得更容易。
  • 如何刪除Struts2動作的後綴擴展名

    默認的「.action」擴展名是醜陋的,並不是用戶友好的,可以刪除或用另一個擴展名來取代它。

Struts2 動作和表單

Struts 2的動作和表單數據管理。
  • 使用Struts2動作
    Struts 2的動作說明和示例。
  • Struts 2 ActionError & ActionMessage Example
    Struts 2的ActionError和ActionMessage的解釋和例子。
  • Struts 2 ModelDriven example
    自動將的表單數據傳輸到對象。

Struts2 攔截器

關於Struts 2的攔截器。
  • 映射攔截動作
    配置攔截器動作。
  • 重寫攔截器參數
    幾種方法來覆蓋攔截器的參數。
  • 攔截器棧的例子
    攔截器堆棧用於建立一組的攔截器,以再利用。
  • 創建自己的攔截器
    創建自己的攔截器指南,以滿足您的需求。
  • execAndWait攔截器例子
    一個非常方便的攔截器長時間運行動作在後臺,顯示用戶的自定義的等待頁面。

Struts 2 UI標籤

Struts 2的UI標籤,來渲染HTML表單和非表單組件。
  • TextBox文檔示例
    Struts2 <s:textfield> 文本實例.
  • Password 示例
    Struts2 <s:password> 密碼實例.
  • Hidden隱藏值示例
    Struts2 <s:hidden> 隱藏值例子
  • Textarea - 文本域
    Struts2 <s:textarea> textarea例子
  • Radio 單選按鍵示例
    Struts2 <s:radio> radio單選按鈕例子
  •  預選單選按鈕
    預選單選按鈕值示例
  • 複選框heckbox 示例
    Struts2 <s:checkbox> 複選框示例
  • 複選框checkboxes 示例
    Struts2 <s:checkboxlist> 多發覆選框的例子
  • 設置複選框的默認值
    設置多個複選框的默認值
  • 下拉框示例
    Struts2 <s:select> 下拉框例子
  • 自動選擇下拉框示例
    自動選擇下拉框值指南
  • 組合框示例
    Struts2 <s:combobox> 組合框的例子
  • head 示例
    Struts2 <s:head>, 呈現一個HTML頭組件
  • 文件上傳示例
    Struts2 <s:file> 文件上傳示例
  • 多文件上傳示例
    Struts2 <s:file> 多文件上傳示例
  • 級聯選擇示例
    Struts2 <s:doubleselect>, 創建兩個HTML下拉框,當第一下拉列表中選擇,第二下拉列表將相應地改變
  • updownselect 示例
    Struts2 <s:updownselect>, 創建一個帶有按鈕,向上或向下移動在選擇組件的選項選擇HTML組件。
  • optiontransferselect 示例
    Struts2 <s:optiontransferselect>, 兩個「updownselect」選擇組件排列在左側和右側,在它們中間包含有按鈕來移動自己的選擇選項。
  • datetimepicker 日期選擇
    Struts2 <s:datetimepicker>, 將呈現一個文本框和追加後面的日曆圖標,單擊日曆圖標上會提示的日期時間選擇器組件。
  • autocompleter自動完成示例
    Struts2 <s:autocompleter>, 一個組合框,會自動提示下拉的提示菜單,在用戶輸入文本框時。
  • autocompleter + JSON 示例
    舉個例子,使用JSON數據填充到autocompleter組件。

Struts 2 控制標籤

在 Struts2 中的控制標籤或邏輯標籤,用來做條件處理,迭代,處理和顯示數據。
  • <s:iterator>標籤迭代示例
    Struts2迭代器標籤用來迭代一個值,它可以是任何的 java.util.Collection 或 java.util.Iterator
  • <s:if>, <s:elseIf>, <s:else> 標籤示例
    Struts2 if,elseif和else標籤被用來執行基本條件檢查。
  • <s:append>標籤示例
    Struts2 <s:append>標籤用來組合幾個迭代器(由列表或映射創建)到一個迭代器
  • <s:generator> 標籤示例
    struts2 <s:generator>標記用於基於在頁中提供「val」屬性,以產生一個迭代。
  • <s:merge>標籤示例
    Struts2 <s:merge>標籤用來合併幾個迭代器(以列表或映射創建)成一個迭代器。
  • <s:sort>標籤示例
    Struts2 <s:sort>是用於排序一個列表,它通過使用 java.util.Comparator 來實現。
  • subset tag example
    Struts2 <s:subset>標記用於輸出一個迭代元素的子集或部分。

Struts2 數據標籤

Struts2數據標籤,從ValueStack中獲取數據,或將數據放入ValusStack。
  • <s:a>標籤示例
    Struts2的<s:a>標籤被用於渲染HTML的「<a>」標籤。
  • <s:action>標籤示例
    Struts2的<s:action>標籤用來直接在一個JSP頁面中調用Action類
  • <s:bean>標籤示例
    Struts2的<s:bean>標籤用來在JSP頁面中實例化一個類
  • <s:date>標籤示例
    Struts2的<s:date>標籤用來在JSP頁面格式Date對象。
  • <s:debug>標籤示例
    Struts 2的<s:debug>標籤是一個非常有用的調試標記,用於輸出「值棧」的內容,並在JSP頁面中輸出「堆棧上下文」的詳細信息。
  • <s:include>標籤示例
    Struts 2的<s:include>標籤用來直接包含JSP或HTML頁面到當前頁面。
  • <s:i18n>標籤示例
    Struts 2的<s:i18n>標籤用來獲取聲明的資源包,而不僅僅是資源包,也可獲取當前操作相關聯的消息。
  • <s:param>標籤示例
    Struts2的<s:param>標籤用來參數化其他標籤。
  • <s:property>標籤示例
    Struts2的<s:property>標籤用來從一個類獲取當前默認Action類的屬性值。
  • <s:push>標籤示例
    Struts2的<s:push>標籤用來推值到堆棧的頂部,以便它可以容易訪問或參考。
  • <s:set>標籤示例
    Struts2的<s:set>標籤用來在指定的範圍內(應用,會話,請求,頁面,或動作)賦值給一個變量
  • <s:text>標籤示例
    Struts2的<s:text>標籤用於從操作類取出資源包消息
  • <s:url>標籤示例
    Struts2的 <s:url> 標籤用來創建一個URL,並輸出作爲文本格式

Struts2 資源包和本地化

Struts2的資源包來支持網絡定位功能(多語言)
  • 資源包使用示例
    Struts2的資源包的解釋和例子
  • i18n 或本地化示例
    一個Struts 2的國際化和多語言的例子來說明如何使用資源包來顯示不同語言的消息
  • key 屬性示例
    Struts 2 key屬性在UI組件是處理本地化的常用方法,也UI標籤編碼的一個非常有效的方法
  • Chinese 本地化問題
    一個常見的中國本地化的問題
  • 配置全局資源包
    配置Struts2的全局資源包指南

Struts2主題

Struts2 的佈局是由「XHTML」主題設計的,所以瞭解 Struts2 主題概念是必須的。
  • Struts2 主題和模板
    Struts 2主題和模板的說明和示例

Struts2集成其它框架

Struts2與任何他人框架的整合 - Spring, Hibernate, Quartz, Log4j…
  • Struts2 + Spring集成實例
    Struts2和Spring框架集成。
  • Struts2 + Quartz調度集成實例
    Struts2和Quartz調度框架集成。
  • Struts2 + Hibernate 集成實例
    集成 Struts2 和 Hibernate 框架。
  • Struts2 + Hibernate使用「Full Hibernate Plugin"插件集成
    使用 「Full Hibernate Plugin」集成Struts2 和Hibernate3
  • Struts2 + Spring + Hibernate集成實例
    集成Struts2,Spring和Hibernate三個框架。
  • Struts 2 + Log4j 集成實例
    集成Struts 2 和Log4j 框架.

Struts2 FAQ

  • FilterDispatcher 和 StrutsPrepareAndExecuteFilter區別?
    關於開發問 filterdispatcher 和 strutsprepareandexecutefilter 之間的差異。
  • 在Struts2中獲取 HttpServletRequest
    獲取 Struts2 HttpServletRequest對象的實例。
  • 在Struts2獲取HttpServletResponse對象
    在Struts2中如何獲取 HttpServletResponse 對象實例
  • 在Struts2中如何獲取ServletContext對象
    在Struts2獲取ServletContext對象實例
  • 在Struts2中配置靜態參數(有示例代碼)
    在Struts2配置靜態參數實例
  • Struts2下載文件實例(有實例代碼)
    Struts2實現下載文件實例
  • Struts2 和 JSON 實例(有實例代碼)
    舉個例子來說明Struts2集成JSON數據。

Struts2 參考