Struts 2深入詳解(簡體書)
商品簡介
作者簡介
目次
1.1 什么是Web框架
1.1.1 模型1
1.1.2 模型2和MVC
1.1.3 Web框架的誕生
1.2 從Struts 1到Struts 2
1.2.1 其他Web框架
1.2.2 Struts 1的缺點
1.2.3 市場與技術的結合——Struts 2的誕生
1.3 準備開發環境
1.4 小結
第2章 Struts 2初體驗
2.1 下載和安裝Struts 2
2.2 使用Subversion來獲取
2.2 Struts 2的源代碼
2.3 Hello World程序
2.4 Struts 2項目開發總結
2.5 小結
第3章 由“登錄”開始
3.1 使用領域對象接收用戶輸入
3.2 使用ModelDriven action
3.3 使用action的屬性接收用戶輸入
3.4 訪問request、session和application對象
3.4.1 與Servlet API解耦的訪問方式
3.4.2 與Servlet API耦合的訪問方式
3.5 小結
第4章 Struts 2架構剖析
4.1 XWork 2——Struts 2的基礎
4.2 Struts 2的體系結構
4.3 Struts 2框架的調用流程
4.4 小結
第5章 Struts 2配置詳解
5.1 Struts 2的配置文件
5.1.1 web.xml
5.1.2 struts.properties
5.1.3 struts-default.xml
5.1.4 struts.xml
5.1.5 struts-plugin.xml
5.1.6 靜態內容
5.2 struts.xml配置詳解
5.2.1 Bean配置
5.2.2 常量(Constant)的配置
5.2.3 包(Package)配置
5.2.4 名稱空間(Namespace)配置
5.2.5 包含(Include)配置
5.2.6 攔截器(Interceptor)配置
5.2.7 Action配置
5.2.8 Result配置
5.2.9 異常(Exception)配置
5.3 配置Action
5.3.1 Action映射
5.3.2 使用method屬性
5.3.3 動態方法調用
5.3.4 模擬Struts 1的ForwardAction
5.3.5 默認的action
5.3.6 通配符映射
5.4 配置Result
5.4.1 結果映射
5.4.2 結果類型
5.4.3 常用結果類型
5.4.3.1 dispatcher結果類型
5.4.3.2 redirect結果類型
5.4.3.3 redirectAction結果類型
5.4.3.4 plainText結果類型
5.4.4 全局結果
5.4.5 動態結果
5.4.6 在結果配置中使用參數
5.5 異常處理
5.6 使用注解配置Action
5.6.1 與Action配置相關的注解
5.6.2 使用注解配置Action的注意事項
5.6.3 使用注解配置Action的實例
5.7 小結
第6章 準備用戶注冊程序
6.1 創建數據庫表
6.2 編寫用戶注冊程序
6.3 解決中文亂碼問題
6.4 Struts 2對依賴注入的支持
6.4.1 Spring插件
6.4.2 在用戶注冊程序中集成Spring
6.5 小結
第7章 Struts 2中的OGNL
7.1 為什么使用OGNL
7.2 OGNL基礎
7.3 OGNL表達式
7.3.1 常量
7.3.2 操作符
7.3.3 訪問JavaBean的屬性
7.3.4 調用方法
7.3.5 調用靜態方法和靜態字段
7.3.6 調用構造方法
7.3.7 索引訪問
7.3.7.1 數組和列表索引
7.3.7.2 JavaBean的索引屬性
7.3.7.3 OGNL對象索引屬性
7.3.8 對集合進行操作
7.3.8.1 創建集合
7.3.8.2 集合的偽屬性
7.3.8.3 投影(projection)
7.3.8.4 選擇(selection)
7.3.9 lambda表達式
7.4 OGNL的類型轉換
7.5 Struts 2在OGNL基礎上的增強
7.5.1 值棧(ValueStack)
7.5.2 [N]語法
7.5.3 top關鍵字
7.5.4 訪問靜態成員
7.5.5 值棧中的Action實例
7.5.6 Struts 2中的命名對象
7.6 與JSP 2.1的沖突
7.7 OGNL表達式的綜合應用
7.8 小結
第8章 Struts 2的標簽庫
8.1 引用Struts 2的標簽庫
8.2 標簽的語法
8.3 通用標簽
8.3.1 數據標簽
8.3.1.1 property標簽
8.3.1.2 set標簽
8.3.1.3 push標簽
8.3.1.4 param標簽
8.3.1.5 bean標簽
8.3.1.6 action標簽
8.3.1.7 include標簽
8.3.1.8 url標簽
8.3.1.9 i18n和text標簽
8.3.1.10 date標簽
8.3.1.11 debug標簽
8.3.2 控制標簽
8.3.2.1 if/elseif/else標簽
8.3.2.2 iterator標簽
8.3.2.3 append標簽
8.3.2.4 merge標簽
8.3.2.5 generator標簽
8.3.2.6 subset標簽
8.3.2.7 sort標簽
8.4 UI標簽
8.4.1 模板和主題
8.4.1.1 Struts 2支持的模板引擎
8.4.1.2 加載模板
8.4.1.3 選擇主題
8.4.1.4 創建定制的主題
8.4.1.5 Struts 2內置的4種主題
8.4.2 表單標簽
8.4.2.1 表單標簽的公共屬性
8.4.2.2 表單標簽的name和value屬性
8.4.2.3 ID名分配
8.4.2.4 form標簽
8.4.2.5 textfield標簽
8.4.2.6 password標簽
8.4.2.7 textarea標簽
8.4.2.8 select標簽
8.4.2.9 optgroup標簽
8.4.2.10 radio標簽
8.4.2.11 checkbox標簽
8.4.2.12 checkboxlist標簽
8.4.2.13 doubleselect標簽
8.4.2.14 combobox標簽
8.4.2.15 optiontransferselect標簽
8.4.2.16 updownselect標簽
8.4.2.17 hidden標簽
8.4.2.18 submit標簽
8.4.2.19 reset標簽
8.4.2.20 label標簽
8.4.2.21 token標簽
8.4.2.22 file標簽
8.4.2.23 head標簽
8.4.3 非表單標簽
8.4.3.1 component標簽
8.4.3.2 a標簽
8.4.3.3 actionerror、actionmessage和fielderror標簽
8.5 使用Struts 2的表單標簽改寫用戶注冊程序中的注冊頁面
8.6 小結
第9章 國際化
9.1 國際化與本地化
9.1.1 Locale
9.1.2 資源包
9.1.3 消息格式化
9.2 Struts 2對國際化的支持
9.2.1 Struts 2資源包的組織和加載方式
9.2.2 在消息文本中使用參數
9.2.3 訪問國際化消息
9.3 將用戶注冊程序國際化
9.4 錯誤消息的國際化
9.5 Struts 2設定訪問用戶的locale的流程
9.6 為用戶注冊程序添加英文版本
9.7 小結
第10章 攔截器
10.1 攔截器的工作方式
10.2 編寫攔截器類
10.3 Struts 2自帶的攔截器
10.4 配置攔截器
10.5 PreResultListener接口
10.6 開發執行安全驗證的攔截器
10.7 使用攔截器注解
10.8 小結
第11章 類型轉換
11.1 傳統的數據處理過程
11.2 Struts 2對類型轉換的支持
11.2.1 使用OGNL表達式命名參數
11.2.2 Struts 2內置的類型轉換器
11.2.3 null屬性的處理
11.2.4 對List、Map和Set的支持
11.2.4.1 使用List來保存圖書信息的實例
11.2.4.2 使用Map來保存圖書信息的實例
11.2.5 使用Set來保存圖書信息的實例
11.3 創建自定義的類型轉換器
11.4 類型轉換錯誤的處理
11.5 使用類型轉換注解
11.5.1 TypeConversion注解
11.5.2 Conversion注解
11.5.3 Element注解
11.5.4 Key注解
11.5.5 KeyProperty注解
11.5.6 CreateIfNull注解
11.6 小結
第12章 對輸入數據進行驗證
12.1 手動驗證
12.1.1 在Action的execute()方法中進行驗證
12.1.2 在validateXxx()方法中進行驗證
12.1.3 在validate()方法中進行驗證
12.2 使用驗證框架
12.2.1 什么是驗證器
12.2.2 注冊驗證器
12.2.3 開啟驗證
12.2.4 定義驗證規則
12.2.5 驗證文件的查找順序
12.2.6 Struts 2內置的驗證器
12.2.7 在用戶注冊程序中使用驗證框架
12.2.8 確認密碼的驗證
12.2.9 短路驗證
12.2.10 開發自己的驗證器
12.2.11 使用visitor字段驗證器復用驗證
12.2.12 同時使用驗證框架和手動驗證
12.2.13 客戶端JavaScript驗證
12.3 使用驗證注解
12.3.1 與驗證相關的注解
12.3.2 在用戶注冊程序中使用驗證注解
12.4 小結
第13章 使用FreeMarker作為表現層
13.1 FreeMarker簡介
13.1.1 FreeMarker是什么
13.1.2 為什么要使用FreeMarker
13.2 FreeMarker的工作原理
13.2.1 模板+數據模型=輸出
13.2.2 數據模型
13.2.2.1 scalar變量
13.2.2.2 hash和sequence變量
13.2.2.3 方法變量
13.2.2.4 宏變量
13.2.3 模板
13.3 FreeMarker的語法和操作
13.3.1 準備工作
13.3.2 表達式
13.3.2.1 直接指定值
13.3.2.2 訪問變量
13.3.2.3 字符串操作
13.3.2.4 序列操作
13.3.2.5 散列操作
13.3.2.6 算術運算
13.3.2.7 比較操作
13.3.2.8 邏輯操作
13.3.2.9 內置函數
13.3.2.10 方法調用
13.3.2.11 缺少值處理操作符
13.3.2.12 操作符優先級
13.3.3 插值(interpolation)
13.3.4 指令
13.3.4.1 if/elseif/else指令
13.3.4.2 switch/case/default/break指令
13.3.4.3 list/break指令
13.3.4.4 include指令
13.3.4.5 import指令和名稱空間
13.3.4.6 assign指令
13.3.4.7 global指令
13.3.4.8 local指令
13.3.4.9 setting指令
13.3.4.10 macro、nested和return指令
13.3.4.11 function和return指令
13.3.4.12 noparse指令
13.3.4.13 escape和noescape指令
13.3.5 內置函數
13.3.5.1 操作字符串
13.3.5.2 操作數字
13.3.5.3 操作日期
13.3.5.4 操作布爾值
13.3.5.5 操作序列
13.3.5.6 操作散列
13.3.6 在模板中定義變量
13.4 Struts 2對FreeMarker的支持
13.4.1 FreeMarker標簽
13.4.2 在FreeMarker標簽中
13.4.2 使用動態屬性
13.4.3 JSP標簽支持
13.4.4 變量解析與內置變量
13.4.5 訪問Servlet/JSP范圍對象
13.4.6 類型轉換與本地化
13.5 在用戶注冊程序中使用FreeMarker來實現表現層
13.6 小結
第14章 使用SiteMesh控制頁面布局
14.1 SiteMesh簡介
14.2 下載并安裝SiteMesh
14.3 感受SiteMesh
14.4 SiteMesh的工作原理
14.5 SiteMesh的標簽庫
14.5.1 decorator標簽庫
14.5.2 page標簽庫
14.6 在裝飾器中獲取原始頁面的內容
14.7 裝飾器的組合應用
14.8 裝飾器映射器
14.9 Struts 2對SiteMesh的支持
14.10 在用戶注冊程序中使用SiteMesh進行頁面布局
14.10.1 使用JSP作為表現層
14.10.2 使用FreeMarker作為表現層
14.11 小結
第15章 避免表單重復提交與等待頁面
15.1 避免表單重復提交
15.1.1 避免表單重復提交的實現原理
15.1.2 Struts 2的實現方式
15.1.3 使用TokenInterceptor
15.1.4 使用TokenSessionStoreInterceptor
15.2 自動顯示等待頁面
15.2.1 ExecuteAndWaitInterceptor 的工作機制
15.2.2 使用ExecuteAndWaitInterceptor
15.3 小結
第16章 文件上傳和下載
16.1 文件上傳
16.1.1 基于表單的文件上傳
16.1.2 文件上傳格式分析
16.1.3 Struts 2對文件上傳的支持
16.1.4 在Struts 2中實現文件上傳
16.1.5 對文件上傳進行更多的控制
16.1.6 多文件上傳
16.2 文件下載
16.2.1 Struts 2對文件下載的支持
16.2.2 在Struts 2中實現文件下載
16.2.3 改進下載程序
16.3 小結
第17章 在Struts 2中實現CRUD
17.1 準備工作
17.2 文章分類的CRUD操作
17.3 小結
第18章 Struts 2對Ajax的支持
18.1 Ajax快速入門
18.1.1 Ajax簡介
18.1.2 DOM
18.1.3 XMLHttpRequest
18.2 Ajax應用開發
18.2.1 使用XML作為數據的載體
18.2.2 使用JSON串作為數據的載體
18.2.2.1 理解JSON
18.2.2.2 下載JSON的Java實現
18.2.2.3 下載JSON的JavaScript腳本
18.2.2.4 使用JSON作為圖書信息的數據
18.2.2.2 格式
18.2.3 使用Dojo簡化Ajax應用的開發
18.2.3.1 Dojo概述
18.2.3.2 下載Dojo工具包
18.2.3.3 在ch18 Web程序中使用Dojo
18.3 在Struts 2中使用JSON插件
18.3.1 JSON插件
18.3.1.1 JSON插件概述
18.3.1.2 定制序列化和反序列化
18.3.1.3 下載JSON插件
18.3.2 使用JSON插件的實例
18.4 Struts 2的Ajax標簽
18.4.1 Ajax標簽的基礎知識
18.4.1.1 共同的屬性
18.4.1.2 等待指示符
18.4.1.3 事件發布/訂閱模型
18.4.1.4 URL
18.4.1.5 阻止請求
18.4.2 使用Ajax標簽前的準備工作
18.4.3 div標簽
18.4.4 submit標簽
18.4.5 a標簽
18.4.6 tabbedPanel標簽
18.4.7 autocompleter標簽
18.4.7.1 autocompleter標簽簡介
18.4.7.2 準備工作
18.4.7.3 autocompleter標簽用法詳析
18.4.8 tree和treenode標簽
18.4.8.1 用tree和treenode標簽構建靜態樹
18.4.8.2 用tree標簽構建動態樹
18.5 Struts 2對DWR的支持
18.6 小結
第19章 集成Hibernate和Spring
19.1 Hibernate簡介
19.2 Hibernate的下載和安裝
19.3 Hibernate快速入門
19.3.1 配置文件
19.3.2 主要接口和類
19.3.3 總結
19.4 在Struts 2中集成Hibernate
19.5 集成Spring
19.6 小結
第20章 在Struts 2中開發Struts 1的Web應用
20.1 Struts 1插件
20.1.1 Struts 1插件的工作原理
20.1.2 使用Struts 1插件
20.2 用戶注冊實例
20.2.1 準備工作
20.2.2 階段1:簡單的Struts 1 Action
20.2.3 階段2:帶有ActionForm的Struts 1 Action
20.2.4 階段3:添加手動驗證
20.2.5 階段4:使用CommonsValidator驗證框架
20.3 小結
附錄A Struts 1與Struts 2的對比
附錄B WebWork 2與Struts 2的對比
附錄C 從WebWork 2移植到Struts 2
主題書展
更多主題書展
更多書展本週66折
您曾經瀏覽過的商品
購物須知
大陸出版品因裝訂品質及貨運條件與台灣出版品落差甚大,除封面破損、內頁脫落等較嚴重的狀態,其餘商品將正常出貨。
特別提醒:部分書籍附贈之內容(如音頻mp3或影片dvd等)已無實體光碟提供,需以QR CODE 連結至當地網站註冊“並通過驗證程序”,方可下載使用。
無現貨庫存之簡體書,將向海外調貨:
海外有庫存之書籍,等候約45個工作天;
海外無庫存之書籍,平均作業時間約60個工作天,然不保證確定可調到貨,尚請見諒。
為了保護您的權益,「三民網路書店」提供會員七日商品鑑賞期(收到商品為起始日)。
若要辦理退貨,請在商品鑑賞期內寄回,且商品必須是全新狀態與完整包裝(商品、附件、發票、隨貨贈品等)否則恕不接受退貨。