內容提要 本書是一本從頭至尾都使用現實世界例子講述有關編寫 Web應用程序的書籍。WebWork所強調的內容是:利用框架實現你的項目,而不是被框架所阻礙。在本書中,我們將從簡單的表單及表單處理開始,逐一講述編寫Web應用程序的基礎知識:action、interceptor和result,以及控制反轉(IoC)模式、對象圖導航語言(OGNL)和所有來自WebWork的實用JSP標簽等。然后我們著眼于高級的特性,例如校驗、數據類型轉換、資源依賴、本地化(i18n)、Web應用組件的松耦合,以及大量應對 Web開發中常見的挑戰所需要的解決方案。 本書是為那些厭煩了Web開發或者認為會存在更好的Web開發方式的開發人員準備的。我們希望讀者對Java及常用的Java API(如Java Collections API)有基本的認識。由于WebWork的內容幾乎都與Web相關,那么讀者必須對HTML、JavaScript及CSS具有基本程度的認識。而實際上不管是開發新手還是富有經驗的軟件開發者,甚至是那些缺少Java基礎技術背景的開發者都可以閱讀本書,并且能夠馬上提高自己的開發效率。 本書實例 源代碼可以從飛思在線和Manning出版社的網站下載。 作者簡介 Patrick Lightbody曾經在多家IT公司工作,其中既有思科系統公司這樣的巨頭,也有硅谷中剛剛起步的小公司,而現在他領導著Jive軟件公司的專業服務組織。在業余時間里,他為多個OpenSymphony項目貢獻自己的聰明才智。Patrick現在居住于美國俄勒岡州的波特蘭市。 目錄 第1部分 WebWork簡介 第1章 WebWork的概貌 1.1 為什么MVC是重要的 1.2 理解框架和容器 1.3 WebWork:過去、現在和未來 1.4 CaveatEmptor應用程序 1.5 小結 第2章 WebWork方式的HelloWorld 2.1 下載WebWork 2.2 準備骨架程序(skeleton) 2.3 你的第一個action 2.4 處理輸入 2.5 高級控制流 2.6 讓WebWork完成任務 2.7 小結 第3章 配置WebWork 3.1 配置action、result和interceptor 3.2 高級配置 3.3 其他配置文件 3.4 配置你的Web應用程序 3.5 小結 第2部分 核心概念 第4章 實現WebWork action 4.1 Action接口 4.2 使用ActionSupport基類 4.3 理解基本的校驗 4.4 使用本地化的文本信息 4.5 高級輸入 4.6 使用ModelDriven action 4.7 通過ActionContext訪問數據 4.8 處理文件上傳 4.9 小結 第5章 使用interceptor增加功能 5.1 interceptor如何被調用 5.2 使用預建的interceptor 5.3 使用預建的interceptor棧 5.4 構建你自己的interceptor 5.5 interceptor vs. servlet篩選器 5.6 小結 第6章 控制反轉 6.1 分析這個模式 6.2 IoC的本質 6.3 使用WebWork的IoC框架 6.4 來自CaveatEmptor的一個例子 6.5 其他的選擇 6.6 小結 第3部分 內容的顯示 第7章 使用result 7.1 action之后的狀態 7.2 通用result 7.3 其他result 7.4 小結 第8章 利用表達式語言獲取數據 8.1 什么是表達式語言 8.2 基本的表達式特性 8.3 操作集合(Collections) 8.4 表達式語言的高級特性 8.5 小結 第9章 標簽庫 9.1 起步 9.2 WebWork標簽總覽 9.3 數據標簽 9.4 控制標簽 9.5 雜項標簽 9.6 小結 第10章 Velocity 10.1 介紹Velocity 10.2 基本語法和操作 10.3 高級技術 10.4 在Velocity中使用JSP標簽 10.5 Velocity模板的裝載 10.6 小結 第11章 UI組件 11.1 為什么要為UI標簽費心 11.2 UI標簽概述 11.3 UI標簽指南 11.4 小結 第4部分 高級話題 第12章 類型轉換 12.1 為什么需要類型轉換 12.2 配置 12.3 簡單類型轉換 12.4 高級話題 12.5 小結 第13章 校驗表單數據 13.1 手動校驗數據 13.2 使用校驗框架 13.3 研究校驗框架的高級特性 13.4 小結 第14章 國際化 14.1 快速瀏覽一個國際化的例子 14.2 信息的來源 14.3 使用國際化信息 14.4 提示和技巧 14.5 小結 第15章 最佳實踐 15.1 搭建環境 15.2 單元測試action 15.3 綜合測試 15.4 測試校驗 15.5 高級UI標簽的用法 15.6 使用表單標記(token)以防止重復提交 15.7 自動顯示等待頁面 15.8 用單個action完成CRUD操作 15.9 小結 附錄A WebWork架構 A.1 實現命令模式 A.2 action A.3 interceptor A.4 result A.5 值棧 A.6 ActionProxy/ActionInvocation A.7 ActionContext A.8 Servlet分派器 A.9 小結 |