ZK框架:Ajax開發實戰

ZK框架:Ajax開發實戰

《ZK框架——Ajax開發實戰》將為你介紹使用ZK框架來輕鬆地開發Ajax套用。你不需要在瀏覽器端編寫用戶接口,而且,你可以在服務端使用ZK所提供超過160個的Java組件來構建套用。有關Ajax編程的複雜架構技術都由ZK自動在後台進行處理。書中將告訴讀者如何安裝並運行ZK程式,以及ZK如何完成那些後台的處理任務,還對重要的ZK組件進行了解釋,然後作者會與讀者一起創建一個真實的Web套用。讀者將學到如何設計應用程式的頁面、如何訪問資料庫,以及如何編寫控制端代碼來協調ZK表現層和數據訪問層。

作者簡介

HENRICHEN是ZKAjaX框架的創建者之一。他擁有20年以上在不同領域用不同語言從事開發的經驗。他從1995年Java語言的最初版本發布時起就開始編寫Java程式,後來轉向為世界第一個最強的基於ARM的網路計算機開發了JavaOS和HotJava,這使他贏得了1996年Comdex大會頒發的“最佳系統”獎。他同時也是瘦客戶端編程、嵌入式系統和AjaxWeb開發方面的專家。

ROBBIECHENG是ZK團隊中的一名工程師。儘管他大學主修的專業是英美文學,但他也獲得了信息系統管理方面的MBA學位。他一直擔任ZK框架使用的指導員,同時也是ZK註冊的開發員,並在ZKWeb網站上發表過許多文章。除了編程之外,他的業餘愛好是看電影,他最喜歡的電影是《廊橋遺夢》(《TheBridgesofMadisonCounty》)。

編輯推薦

Apress的firstPress系列圖書是您學習前沿技術的最佳途徑。所有圖書均由技術專家執筆,內容簡潔、重點突出,幫助您節省學習新技術的時間和精力。如果沒有這些書的幫助,您需要通過大量鑽研,或者頻繁參加學術會議才能獲得相應的知識——只要您抽得出時間。書中涉及的概念和技術將使您隨時站在技術曲線的最前沿。firstPress系列圖書關注前沿技術,雖然有些技術本身還不成熟,但並不代表成書質量會受影響。我們還提供電子書和紙質圖書供您選擇。

ZKTM框架——Ajax開發實戰

親愛的讀者:

《ZK框架——Ajax開發實戰》主要介紹如何讓Ajax編程變得像開發桌面套用一樣簡單,像創建HTML頁面一樣容易,這也是ZKTM框架的核心價值所在。

編寫富AjaxWeb套用是非常複雜的。在瀏覽器端,您可以使用HTMLDOM、CSS和JavaScriptTM語言編寫用戶接口:在服務端,您可以用另一種語言(比如JavaTM)編寫業務邏輯和數據訪問代碼,這樣,您必須對瀏覽器和服務端之間的訊息進行異步HTTP處理,最後,您還要應付瀏覽器的不兼容問題和、JavaScript錯誤。

《ZK框架——Ajax開發實戰》將為您介紹如何使用ZK框架輕鬆地開發Ajax套用。您不需要在瀏覽器端編寫用戶接口,而且,您可以在服務端使用.ZK所提供的超過160個的.Java組件來構建套用,有關Ajax編程的複雜架構技術都由ZK在後台自動進行處理。

在《ZK框架——Ajax開發實戰》中,我們告訴您如何安裝並運行ZK程式,以及ZK如何完成那些後台的處理任務,同時對重要的ZK組件進行解釋,然後我們一起創建一個真實的Web套用。您將學到如何設計應用程式的頁面、如何訪問資料庫,以及如何編寫控制端代碼來協調ZK表現層和數據訪問層。

我們希望《ZK框架——Ajax開發實戰》可以幫助您擺脫舊的、艱苦的、浪費時間的AjaxWeb套用的開發方式。閱讀它,看看ZK如何讓您的生活變得容易,同時也讓您的客戶高興。

您誠摯的

HenriChen和RobbieCheng

目錄

關於作者

關於技術評審

介紹

第一部分了解ZKAjax框架

第1章什麼是ZKAjax框架

1.1ZKAjax框架

1.1.1Ajax:後台處理技術

1.1.2表現層

1.1.3以服務端為中心的事件驅動框架

1.1.4基於組件的GUI工具箱

1.2本章小結

第2章開始ZK之旅

2.1安裝Java運行時環境

2.2安裝Javaservlet容器

2.2.1使用Installer包

2.2.2使用ZIP檔案

2.3部署和測試zkdemo-all.war

2.4相關的類庫

2.5配置web.xml

2.6配置zk.xml

2.7本章小結

第3章構建你的第一個ZK套用

3.1第一個ZK套用:HelloWorld

3.2第一個ZK組件:窗體(Window)組件

3.3將Ajax注入到你的ZK套用中

3.4本章小結

第4章介紹通用ZK組件

4.1組件,頁面和桌面

4.2組件的生命周期

4.2.1ZUML頁面的生命周期

頁面初始化階段

組件創建階段

事件處理階段

回填階段

4.2.2更新頁面

請求處理階段

事件處理階段

回填階段

4.3組件垃圾回收

4.4使用組件的屬性

4.4.1組件的id屬性

4.4.2組件的if和unless屬性

4.4.3組件的forEach屬性

4.4.4組件的use屬性

4.4.51D空間(IDSpaces)

獲取ID空間範圍內的成員組件

獲取ID空間範圍外的組件

4.4.6獲取另一個頁面中的組件

4.4.7使用zscript和EL表達式

zscrlpt

EL表達式

4.5事件

4.6ZUML和XML命名空間

4.7創建真實的模式對話框(modaldialog)

4.7.1訊息框

4.7.2檔案上傳

4.8實現宏組件(MacroComponent)

4.8.1集成大組件(MegaComponent)

Google地圖

FCKeditor

Dojo

4.9本章小結

第二部分套用ZK框架

第5章搭建開發環境

5.1安裝JavaSE(JDK)

5.2安裝Tomcat

5.3安裝EclipseIDESDK

5.3.1安裝帶WTP外掛程式的Eclipse

5.3.2指定Eclipse的工作空間

5.3.3設定Tomcat和Elicpse一同工作

5.3.4定義一個伺服器實例(Serverlnstance)

5.4在XML編輯器中設定.zul檔案擴展名的關聯

5.5配置ZK和Eclipse一同工作

5.5.1創建一個動態Web工程

5.5.2導入ZKJAR類庫並設定Web配置

5.5.3創建一個新的index.zul檔案

5.5.4運行你的第一個應用程式

5.6更多方便的工具

5.6.1導入ZK原始碼到Eclipse中

5.6.2集成zul.xsd的XMLSchema檔案

5.6.3使用zul.xsd這個XMLSchema檔案創建一個頁面..

5.6.4在Eclipse中找回丟失的xsd檔案URL

5.7本章小結

第6章創建一個真實的Web套用

6.1介紹JavaPetStore2.0

6.2創建ZKPetShop套用

6.2.1安裝ZKPetShop

6.3創建ZKPetShop的主頁

6.3.1使用Dojo構建Fish-Eye列表

6.3.2監聽onClick事件

6.3.3構建帶超連結功能的圖片

6.3.4將banner.zul包含到index.zul中

添加鸚鵡圖示

添加標題

添加選單條

6.4ZKPetShop套用的需求

6.4.1視圖和控制器之間的互操作

6.5發布寵物信息

6.5.1創建seller.zul

聲明seller.zul的控制器

創建一個用來提交寵物信息的表單

添加富文本編輯器

提供檔案上傳功能

創建一個表單用來提交賣家的聯繫方式信息

添加一個CAPTCHA

添加客戶端驗證約束

保存用戶提交的信息到資料庫中

6.6瀏覽寵物信息和照片

6.6.1更新catalog.zul檔案

創建選單條

創建寵物的大圖

創建寵物的縮略圖長廊

創建描述面板

6.7使用Google地圖來搜尋寵物的位置

6.7.1創建mapall.zul

創建一個表單用於提交用戶的地址作為查詢條件

使用Google地圖來顯示寵物的位置

在Google地圖中顯示結果

在gmap組件上顯示寵物的位置

在grid中顯示寵物的信息

重定向頁面到catalog.zul

在地圖上提示寵物的位置

自定義事件監聽器

在彈出視窗中顯示寵物的詳細信息及縮略圖

創建popup.zul

6.8本章小結

第7章將GUI和資料庫進行連結

7.1準備資料庫環境

7.1.1下載HSQL資料庫

7.1.2創建ZKPetShop數據表

7.1.3JDBC和連線池

7.2讓ZK和Hibernate一同工作

7.2.1使用Hibernate的先決條件

創建Java類

編輯Hibernate配置檔案

映射對象資源

7.2.3使用映射檔案的方式

7.2.4使用Java注釋(Annotations)語言

7.2.5Hibernate的高級特徵

工作單元

保持一個會話為開啟狀態

配置ZK來使用會話

7.3ZKPetShop中帶注釋語言的數據模型

表的注釋語言

屬性的注釋語言

主鍵的注釋語言

7.4實現ZKPetShop的門面類

7.4.1CatalogFacade類

7.4.2用Hibernate實現CatalogFacade類

SELECT語句

INSERT語句

7.4.3用戶行為和後台處理機制

用戶提交要出售的寵物信息

用戶第一次訪問catalog.zul

瀏覽某一種產品類型的寵物

使用Google地圖來查找寵物的位置

7.5本章小結

第8章自動綁定數據

8.1去掉管道處理代碼

8.2使用ZUMLAnnotations類

8.2.1格式化數據綁定注釋語言

8.2.2使用ZKAnnotations類來進行數據綁定

load-when標籤

save-when標籤

8.3在ZKPetShop的GUl中添加數據綁定機制

8.3.1在ZKPetShop中使用數據綁定機制

聲明數據模型的getter和setter方法

聲明ZUML注釋語言命名空間

定義數據綁定注釋語言

指定調用數據綁定管理器的事件

8.3.2對數據的集合進行數據綁定

聲明數據模型的getter和setter方法

定義數據綁定注釋語言

8.3.3在listbox的model屬性中指定數據集合

8.3.4使用_var標籤定義一個ZK組件的模板

8.4本章小結

……

相關詞條

熱門詞條

聯絡我們