Wicket用戶手冊一:Wicket介紹篇

Wicket用戶手冊

這是一份還有待完成的Wicket用戶手冊,目前主要在Wiki上發佈,以後可能會以PDF或者HTML格式提供文檔。

什麼是wicket

在Java世界中,有許多Web開發框架,Wicket就是最近出現的一個新框架,但Wicket並不僅僅只是一個重複發明的輪子。正如牛頓所說,“他站在巨人的肩上”,Wicket也借鑑了許多框架的優點,是一個基於組件開發的框架。與早期的一些WEB框架相比較,Wicket使得Web開發更加簡單,方便。與其它Web框架一樣,Wicket也建立在Sun’s servlet API;但是與Struts和Spring那種MVC框架不同,因爲使用Wicket的開發者,所關心的已經不再如何從客戶端接收一個回覆又或者如何向客戶端發送一個請求。以往的框架往往提供一個Controller同時爲多用戶和多線程服務,負責處理請求及回覆,不需要保存各種狀態。但Wicket爲用戶提供了帶有狀態的各種組件。Wicket不再創建一個Controller,而是使用一個頁面,並在上面放置各種控件,並定義控件如何響應用戶的輸入。

聽起來,這和開發桌面的GUI程序沒有區別,象使用 Microsoft的VB,SUN的Swing,Borland的Delphi一樣。使用控件可以使得可視化層更加容易開發,把更多時間花在業務或者其它核心功能上。更重要的是,這也讓基於控件的GUI更加容易擴展。只需要通過添加相應的控件即可爲系統添加更多的功能,而且不會影響到其它控件。這種基於控件開發的優勢也同樣可以用於Web開發,事實上許多Web框架都試圖將桌面程序開發的優勢移植到Web開發中。Apache Jakarta小組的Tapestry項目和Microsoft’s的ASP.NET,以及Sun’s JSF(Java Server Faces)標準都是佼佼者,Wicket也從它們中獲益良多。目前這種技術象是一個模子刻出來的,通過一個模板文件來描述頁面佈局。 JSF使用了Sun的JSP技術(還有標籤), ASP.NET則使用了ASP,而Tapestry則在標準的HTML基礎上定義自己的模板系統。(譯註:其實這幾種技術有些不同,象ASP.NET則把模板文件當成可執行文件,繼承一個Page,然後編譯。JSF則把JSP編譯成Servlet,它們事實上都是可以執行的,面Tapestry和Wicket則是將HTML和代碼分開,用後臺類動態輸出信息來替換HTML模板中的指定內容),當收到用戶請求時,這些頁面負責輸出,同時調用後臺對象動態輸出時所需要的內容。 後臺支持類往往是以Listener的方式出現的,而模板僅僅只定義控件的相關信息,如位置,類型等信息。

這種方式是對MVC2結構的一個改進。開發人員可以定義各種方法而不是使用一個統一而龐大的類而處理系統。通常的MVC2結構的框架,都是無狀態的,通過Wicket,開發人員不再管理狀態。現在編寫Java代碼已經成爲二等公民了,因爲這些Java代碼只需要提供頁面輸出時所需要的信息就可以了。(譯註:這句話覺得怎麼翻譯都覺得古怪)。另外這些後臺類對請求<--->回覆時會收到通知(通過上面的Listener接口)。(譯註:這裏少翻譯了一段,因爲怎麼翻譯這一段都比較彆扭,還好這一段影響不大,所以暫時忽略了,以後有時間再補上)



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章