第1章 Struts 2概述
1.1 MVC思想概述
1.1.1 Web技術的發展
1.1.2 Model 1和Model 2
1.1.3 MVC思想及其優勢
1.1.4 常用的MVC框架
1.2 struts 1的缺陷與現狀
1.2.1 支持的錶現層技術單一
1.2.2 與Servlet API嚴重耦閤
1.2.3 代碼依賴於Struts 1 API
1.3 Struts 2的優勢與體係
1.3.1 struts 2的優勢
1.3.2 Struts 2架構
1.3.3 Struts 2的配置文件
1.3.4 Strut 2的標簽庫
1.3.5 Struts 2的控製器組件
1.4 本章小結
第2章 Struts 2的HelloWorld
2.1 下載和安裝Struts 2框架
2.2 從用戶請求開始
2.3 創建Struts 2的Web應用
2.3.1 創建Web應用
2.3.2 增加Struts 2功能
2.4 實現控製器
2.4.1 實現控製器類
2.4.2 配置Action
2.4.3 增加視圖資源完成應用
2.5 改進控製器
2.5.1 實現Action接口
2.5.2 跟蹤用戶狀態
2.5.3 添加處理信息
2.5.4 輸齣處理信息
2.6 改進視圖組件
2.6.1 保護JSP頁麵
2.6.2 改善輸齣頁麵
2.6.3 使用UI標簽簡化錶單頁麵
2.7 完成程序國際化
2.7.1 定義國際化資源文件
2.7.2 加載資源文件
2.7.3 輸齣國際化信息
2.8 增加數據校驗
2.8.1 繼承ActionSupport
2.8.2 使用Struts 2的校驗框架
2.9 本章小結
第3章 Struts 2核心技術
3.1 在Eclipse中開發Struts 2
3.1.1 創建Web應用
3.1.2 增加Struts 2支持
3.1.3 部署Struts 2應用
3.1.4 增加應用的Action
3.2 Struts 2的基本流程
3.2.1 核心控製器StrutsPrepareAndExecuteFilter
3.2.2 業務控製器
3.2.3 Struts 2的模型組件
3.2.4 Struts 2的視圖組件
3.2.5 Struts 2的運行流程
3.3 Struts 2的基本配置
3.3.1 配置web.xml文件
3.3.2 struts.xml配置文件
3.3.3 struts.properties文件與常量配置
3.3.4 struts.xml文件結構
3.4 深入Struts 2配置文件
3.4.1 Bean配置
3.4.2 常量配置
3.4.3 包配置
3.4.4 命名空間配置
3.4.5 包含配置
3.4.6 攔截器配置
3.5 Struts 2的Action
3.5.1 實現Action處理類
3.5.2 Action訪問ServletAPI
3.5.3 Action直接訪問Servlet API
3.5.4 配置Action
3.5.5 配置Action的默認處理類
3.5.6 動態方法調用
3.5.7 為action元素指定method屬性
3.5.8 使用通配符
3.5.9 配置默認的Action
3.6 管理處理結果
3.6.1 處理結果的改進
3.6.2 配置結果
3.6.3 Struts 2支持的處理結果類型
3.6.4 chain結果類型
3.6.5 Dlain Text結果類型
3.6.6 redirect結果類型
3.6.7 redirectAction結果類型
3.6.8 動態結果
3.6.9 請求參數決定結果
3.6.10 全局結果
3.7 屬性驅動和模型驅動
3.7.1 模型的作用
3.7.2 使用模型驅動
3.8 Struts 2的異常機製
3.8.1 Struts 2的異常處理哲學
3.8.2 聲明式異常捕捉
3.8.3 輸齣異常信息
3.9 未知處理器
3.10 本章小結
第4章 Struts 2的類型轉換
4.1 類型轉換的意義
4.1.1 錶現層數據處理
4.1.2 傳統的類型轉換
4.2 Struts 2內建的類型轉換器
4.3 基於OGNL的類型轉換
4.3.1 使用OGNL轉換成Map集閤
4.3.2 使用OGNL轉換成List集閤
4.4 自定義類型轉換器
4.4.1 係統需求
4.4.2 實現類型轉換器
4.4.3 局部類型轉換器
4.4.4 全局類型轉換器
4.4.5 局部類型轉換器和全局類型轉換器的說明
4.4.6 基於Struts 2的類型轉換器
4.4.7 數組屬性的類型轉換器
4.4.8 集閤屬性的類型轉換器
4.5 集閤類型轉換的高級特性
4.5.1 指定集閤元素的類型
4.5.2 為Set集閤的元素指定索引屬性
4.6 類型轉換中的錯誤處理
4.6.1 類型轉換的錯誤處理流程
4.6.2 處理類型轉換錯誤
4.6.3 輸齣類型轉換錯誤
4.6.4 處理集閤屬性的轉換錯誤
4.7 本章小結
第5章 Struts 2的輸入校驗
5.1 輸入校驗概述
5.1.1 為什麼需要輸入校驗
5.1.2 客戶端校驗
5.1.3 服務器端校驗
5.1.4 類型轉換和輸入校驗
5.2 基本輸入校驗
5.2.1 編寫校驗規則文件
5.2.2 國際化提示信息
5.2.3 使用客戶端校驗
5.3 校驗器的配置風格
5.3.1 字段校驗器配置風格
5.3.2 非字段校驗器配置風格
5.3.3 短路校驗器
5.3.4 校驗順序和短路
5.4 校驗文件的搜索規則
5.5 內建校驗器
5.5.1 注冊校驗器
5.5.2 必填校驗器
5.5.3 必填字符串校驗器
5.5.4 整數校驗器
5.5.5 日期校驗器
5.5.6 錶達式校驗器
5.5.7 字段錶達式校驗器
5.5.8 郵件地址校驗器
5.5.9 網址校驗器
5.5.10 Visitor校驗器
5.5.11 轉換校驗器
5.5.12 字符串長度校驗器
5.5.13 正則錶達式校驗器
5.6 基於Annotation的輸入校驗
5.7 手動完成輸入校驗
5.7.1 重寫validate方法
5.7.2 重寫validateXxx方法
5.7.3 Struts 2的輸入校驗流程
5.8 本章小結
第6章 上傳和下載文件
6.1 文件上傳的原理
6.1.1 錶單元素的enctype屬性
6.1.2 手動上傳
6.1.3 使用Servlet3.0API完成上傳
6.2 Struts 2的文件上傳
6.2.1 Struts 2的文件上傳支持
6.2.2 實現文件上傳的Action
6.2.3 配置文件上傳的Action
6.2.4 手動實現文件過濾
6.2.5 攔截器實現文件過濾
6.2.6 輸齣錯誤提示
6.2.7 文件上傳的常量配置
6.3 使用Pell上傳
6.4 同時上傳多個文件
6.4.1 使用數組同時上傳多個文件
6.4.2 使用List同時上傳多個文件
6.5 使用Struts 2控製文件下載
6.5.1 實現文件下載的Action
6.5.2 配置Action
6.5.3 下載前的授權控製
6.6 本章小結
第7章 Struts 2的國際化
7.1 程序國際化簡介
7.1.1 程序國際化的意義
7.1.2 Java國際化的思路
7.1.3 Java支持的國傢和語言
7.1.4 完成程序國際化
7.1.5 使用MessageFormat處理帶占位符的消息
7.2 Struts 2的國際化支持
7.2.1 Struts 2的國際化
7.2.2 視圖頁麵的國際化
7.2.3 Action的國際化
7.2.4 使用包範圍的國際化資源
7.2.5 使用全局國際化資源
7.2.6 輸齣帶占位符的國際化消息
7.2.7 加載資源文件的順序
7.3 允許用戶自行選擇程序語言
7.3.1 Struts 2國際化機製的原理
7.3.2 創建下拉列錶框
7.3.3 選擇程序語言
7.4 本章小結
第8章 Struts 2的標簽庫
8.1 Struts 2標簽庫概述
8.1.1 標簽的優勢
8.1.2 Struts 2的標簽分類
8.2 Struts 2標簽入門
8.2.1 使用Struts 2標簽的準備
8.2.2 Struts 2的OGNL錶達式語言
8.2.3 OGNL中的集閤操作
8.2.4 訪問靜態成員
8.2.5 Lambda(λ)錶達式
8.3 控製標簽
8.3.1 if/elseif/else標簽
8.3.2 iterator標簽
8.3.3 append標簽
8.3.4 generator標簽
8.3.5 merge標簽
8.3.6 subset標簽
8.3.7 sort標簽
8.4 數據標簽
8.4.1 action標簽
8.4.2 bean標簽
8.4.3 date標簽
8.4.4 debug標簽
8.4.5 i18n標簽
8.4.6 include標簽
8.4.7 param標簽
8.4.8 pmperty標簽
8.4.9 push標簽
8.4.10 set標簽
8.4.11 text標簽
8.4.12 url標簽
8.5 主題和模闆
8.5.1 選擇主題
8.5.2 自定義主題
8.6 錶單標簽
8.6.1 錶單標簽的通用屬性
8.6.2 錶單標簽的name和value屬性
8.6.3 checkboxlist標簽
8.6.4 combobox標簽
8.6.5 doubleselect標簽
8.6.6 head標簽
8.6.7 optiontransferselect標簽
8.6.8 select標簽
8.6.9 radio標簽
8.6.10 optgroup標簽
8.6.11 token標簽
8.6.12 updownselect標簽
8.7 非錶單標簽
8.7.1 actionerror和actionmessage標簽
8.7.2 component標簽
8.8 本章小結
第9章 Struts 2的攔截器
9.1 理解攔截器
9.1.1 理解DRY規則
9.1.2 攔截器的意義
9.1.3 攔截器的實現原理
9.1.4 攔截器和AOP的關係
9.1.5 攔截器在Struts 2中的作用
9.2 Struts 2內建攔截器介紹
9.2.1 Struts 2內建攔截器
9.2.2 struts—default.xml裏配置的攔截器
9.3 攔截器配置初步
9.3.1 配置攔截器
9.3.2 使用攔截器
9.3.3 配置默認的攔截器
9.4 開發自己的攔截器
9.4.1 實現攔截器類
9.4.2 使用攔截器
9.4.3 攔截器和Struts2插件的關係
9.5 深入攔截器編程
9.5.1 攔截方法的攔截器
9.5.2 攔截器的執行順序
9.5.3 攔截結果的監聽器
9.5.4 覆蓋攔截器棧裏特定攔截器的參數
9.6 攔截器應用示例:實現權限控製
9.6.1 實現攔截器類
9.6.2 配置權限控製攔截器
9.7 本章小結
第10章 Struts 2的Ajax支持
10.1 Struts 2基本的Ajax支持
10.1.1 Ajax技術概述
10.1.2 使用stream結果類型實現Ajax
10.2 基於Dojo的異步錶單
10.2.1 安裝Dojo插件
10.2.2 定義異步錶單
10.2.3 實現Action
10.2.4 實現服務器響應頁麵
10.3 基於Dojo的Pub-sub事件模型
10.3.1 Pub—Sub原理
10.3.2 Pub-Sub示例
10.3.3 阻止請求
10.4 基於Dojo的Ajax標簽
10.4.1 div標簽
10.4.2 a和submit標簽
10.4.3 autocomDleter標簽
10.4.4 tabbedpanel標簽
10.4.5 datetimepicker標簽
10.4.6 tree和treenode標簽
10.4.7 textarea標簽
10.4.8 bind標簽
10.5 基於JSON插件的Ajax實現
10.5.1 JSON的基本知識
10.5.2 安裝Struts 2的JSON插件
10.5.3 實現Action邏輯
10.5.4實現JSP頁麵
10.6 本章小結
……
第11章 Convention插件與REST支持
第12章 FreeMarker詳解
第13章 整閤Spring
第14章 整閤JSF
第15章 整閤SiteMesh
第16章 整閤JasperReports
第17章 整閤JFreeChart
第18章 整閤Hibemate
第19章 “零配置”案例:注冊登錄係統
第20章 電子拍賣係統
· · · · · · (
收起)