Struts2教學
Struts2快速入門
Struts2 MVC架構
Struts2 是什麼?
Struts2 環境配置
Struts2 體系結構
Struts2 Hello World 實例
Struts2 配置文件
Struts2 Action/動作
Struts2 攔截器
Struts2 結果和結果類型
Struts2 值棧/OGNL
Struts2 文件上傳
Struts2 MySQL數據庫訪問
Struts2 發送郵件Email
Struts2 驗證框架
Struts2 基於XML校驗
Struts2 本地化/國際化(i18n)
Struts2 類型轉換
Struts2 主題和模板
Struts2 異常處理
Struts2 註釋
Struts2 註釋類型
Struts2 控件標籤
Struts2 iterator標籤
Struts2 if/else標籤
Struts2 merge標籤
Struts2 append標籤
Struts2 generator標籤
Struts2 數據標籤
Struts2 action標籤
Struts2 include標籤
Struts2 bean 標籤
Struts2 date 標籤
Struts2 param 標籤
Struts2 property 標籤
Struts2 set 標籤
Struts2 text 標籤
Struts2 url標籤
Struts2 表單標籤
Struts2 Ajax 標籤
Struts2和Spring集成
Struts2和Tiles集成
Struts2和Hibernate集成
Struts 2 hello world (XML版本)
Struts2註解示例
Struts2 @ResultPath註釋示例
Struts2 include(包含)多個配置文件
Struts2命名空間配置和解釋
Struts2開發者模式
如何刪除Struts2動作的後綴擴展名
使用Struts2動作
Struts2的ActionError&ActionMessage示例
Struts2模型驅動實例
Struts2映射攔截動作
Struts2重寫攔截器參數
Struts2攔截器棧的例子
Struts2 execAndWait攔截器例子
Struts2 <s:textfield>文本示例
Struts2 <s:password>密碼示例
Struts2 <s:hidden>隱藏值例子
Struts2 <s:textarea>文本域實例
Struts2 <s:radio>單選按鈕例子
Struts2單選預選按鈕值
Struts2 <s:checkbox>複選框例子
Struts2設置多個複選框缺省值
Struts2 <s:checkboxlist>多個複選框例子
Struts2 <s:select>下拉框例子
Struts2自動選擇下拉框的值
Struts2 <s:combobox>組合框的例子
Struts2 <s:head>示例
Struts2文件上傳例子
Struts2上傳多個文件例子
Struts2 <s:doubleselect>示例
Struts2 <s:updownselect>示例
Struts2 <s:optiontransferselect>示例
Struts2 <sx:datetimepicker>示例
Struts2 <sx:autocompleter>自動提示例子
Struts2 autocompleter+JSON例子
Struts2 <s:iterator>迭代器標籤示例
Struts2 if,elseif,else標籤示例
struts2 <s:append>標籤示例
Struts2 <s:generator>標籤示例
Struts2 <s:merge>標籤示例
Struts2 <s:sort>標籤示例
Struts2 <s:subset>標籤示例
Struts2 <s:a>標籤示例
Struts2 <s:action>標籤示例
Struts2 <s:bean>標籤示例
Struts2 <s:date>標籤示例
Struts2 <s:debug>標籤示例
Struts2 <s:include>標籤示例
Struts2 <s:i18n>標籤示例
Struts2 <s:param>標籤示例
Struts2 <s:property>標籤實例
Struts2 <s:push>標籤示例
Struts2 <s:set>標籤示例
Struts2 <s:texttag>標籤示例
Struts2 <s:url>標籤示例
Struts2資源包使用示例
Struts2本地化和國際化
Struts2 key鍵屬性示例
Struts2中文本地化問題
如何配置Struts2全局資源包
Struts2+Spring集成實例
Struts2+Quartz2調度集成實例
Struts2+Hibernate使用Full Hibernate Plugin集成
Struts2+Hibernate集成實例
Struts2+Spring+Hibernate集成實例
Struts2+Log4j集成
Struts2的FilterDispatcher和StrutsPrepareAndExecuteFilter有什麼不同?
Struts2獲取HttpServletRequest實例
Struts2獲取HttpServletResponse實例
如何獲取ServletContext對象
Struts2配置Action類的靜態參數
Struts2下載文件實例
Struts2和JSON實例

Struts2 是什麼?

Struts2是流行和成熟的基於MVC設計模式的Web應用程序框架。 Struts2不只是Struts1下一個版本,它是一個完全重寫的Struts架構。

WebWork框架開始以Struts框架爲基礎,其目標是提供一個加強和改進框架Struts來使web開發的開發人員更容易。

一段時間後,WebWork框架和Struts社區聯手打造的著名的Struts2框架。

Struts 2框架的特點:

這裏有一些強大的功能,可能會迫使你考慮Struts2:

  • POJO表單和POJO動作 - Struts2的Struts框架已經擺脫了動作表單組成部分, Struts2可以使用任何POJO接收的形式輸入。同樣現在可以看到任何POJO作爲一個Action類。

  • 標籤支持 - Struts2中,提高了表單標籤和新標籤允許開發人員編寫更少的代碼。

  • AJAX 支持- Struts2中已確認由Web2.0技術接管,並整合到產品中,通過創建AJAX標籤,功能非常相似的標準Struts2 標籤AJAX支持。

  • 易於整合 - Struts2 集成各種整合與其他框架如Spring,Tiles 和SiteMesh是現在更容易。

  • 模板支持 - 支持生成使用模板。

  • 插件支持 - 可以提高核心Struts2的特性,並增強使用插件。大量的插件可供Struts2。

  • 性能分析 - Struts2的分析,調試和分析應用程序提供了集成。除此之外,Struts還提供了集成的內置調試工具調試。

  • 易於修改標籤 - Struts2的標籤標註,可以調整使用Freemarker的模板。這並不需要JSP或Java知識。基本HTML,XML和CSS知識是足夠修改標籤。

  • 提倡少配置 - Struts2 促進較少的配置的幫助下,使用默認的各種設置值。不必配置的東西,除非它不符Struts2的默認設置。

  • 視圖技術: - Struts2中有一個很大的支持多個視圖選項 (JSP, Freemarker, Velocity 和 XSLT)

以上只是Struts2的十大功能,這使得它是企業公司級應用框架。

Struts 2的缺點:

雖然Struts 2 的配備了一個偉大的功能列表,但我不會忘記提及關於Struts2一些缺點,將需要大量的改進措施:

  • 更大的學習曲線 - 要使用MVC與Struts,你必須是習慣使用標準的JSP,Servlet API和大量精心設計的框架。

  • 欠佳的文檔 - Struts有標準的servlet和JSP API的相比,更少的在線資源,許多用戶第一時間發現網上Apache文檔混亂和管理不善的組織。

  • 較少透明度 - Struts應用程序中,有很多幕後比正常的基於Java的Web應用程序,這使得它很難理解的框架。

最後一點,一個好的框架應該提供通用的特性,許多不同類型的應用程序,可以利用它。 Struts 2是一個最好的網絡架構和高度被用於開發富Internet應用程序(RIA)。