Posted on 2007-06-06 16:38
Tommy Jian 閱讀(1361)
評論(4) 編輯 收藏 所屬分類:
Wicket
與Swing類似的面向對象組件模型
Wicket中的頁面及其他組件都是支持封裝、繼承和事件觸發的Java對象。
易于開發
因為Wicket合成了Java和HTML,在使用Wicket開發應用的過程中,您可以最大限度地發揮您所掌握的Java知識,而且可以最大限度地發揮您最喜歡的HTML編輯器在開發過程中的作用。
關注點的分離
Wicket并沒有將標簽(比如HTML的相關標簽)與Java代碼混合,而且也沒有在標簽文件中增添任何特殊的語法。HTML和Java 的領域是不互相干擾的,它們只是通過Wicket Id來關聯,Wikcet Id在HTML中表現為標簽的屬性,在Java代碼中則表現為組件的屬性。因為Wicket中的HTML文件是純粹的HTML文件,Wicket中的Java代碼是純粹的Java代碼,編程者和設計者可以最大程度地獨立完成工作,而不需要依賴于任何特定的工具。
安全
Wicket在默認設置的條件下是安全的。URL不對外公布任何敏感信息,而且所有組件的路徑都是相對于會話周期的,脫離了會話周期這些路徑將變得無效。如果需要在會話周期間共享信息,則必須做一些特殊的工作才能達到。在下一個版本的 Wicket中,有計劃將URL加密功能添加到框架中去以此來支持符合要求更高的安全特性。
透明的且具備伸縮性的集群支持
所有基于Wicket的應用不需要額外的設置就可以自動支持集群。一旦系統的瓶頸經評估被發現,那么Wicket將啟動頁面狀態的復制。Wicket的下一個版本將對具備零狀態伸縮性的客戶端模型提供支持。
顯式的“后退按鈕”問題支持
Wicket支持可配置的頁面版本管理。當用戶提交一個表單,而后使用瀏覽器的后退按鈕來回到以前訪問過的頁面時,Wicket 可以將頁面對象的狀態恢復過來,并且將頁面以原來的面貌呈現出來。這就意味著您只需要花一點功夫就可以構建出支持“ 后退按鈕”的應用。
可復用的組件
在Wicket中,構建可復用的組件十分的簡單。您不僅可以使用Java中的關鍵字extends來從現有的組件繼承而構建新的組件,而且可以使用Panel組件來組織一批組件來構建可復用的組件單元。簡單且靈活的、支持本地化的表單校驗在Wikcet中編寫和使用校驗器也是十分的簡單。而且校驗錯誤消息的定義和本地化也是十分簡單的工作。
類型安全的會話周期
Wicket消除了手動管理HttpSession屬性的需求。頁面和組件對象被顯式地存儲在會話周期中,您的應用也可以構建屬性類型安全的會話周期的子類。存儲在會話周期中的所有對象可以自動地發布到集群中。
可自定義的工廠類
Wicket非常具有擴展性。許多操作可以通過工廠類或者工廠方法來實現自定義。
可分離的模型
Wicket中的模型對象在集群系統中的內存和網絡占用可以說是輕量級的。當一個模型正在被使用時,它將被裝載,主要通過從存儲單元來獲得數據并激活模型。當這個模型對象已經不再被使用時,臨時信息可以被重置,這樣就可以消減對象占用的內存數量。
邊框組件
Wicket的邊框組件可以使得頁面的裝飾符合可重用的規則。這對一般的導航結構和布局顯得十分的有用。
對HTML所有的基本特性提供支持
Wicket支持圖像標簽、鏈接、表單以及其他一切您在Web應用開發中可以用到的特性。
對屬性的可編程操作。
Wicket組件可以使用編程的方式來修改任何HTML標簽的屬性。
自動的轉換
一旦表單校驗完成,模型可以使用Wicket的轉換器來完成更新。大部分的轉換器都是系統自帶的,而編寫新的轉換器也是很簡單的事情。
動態的圖像
Wikcet使得圖像的使用、共享和生成十分的簡單。動態圖像可以簡單地通過實現繪制(paint)方法來建立。
可分頁的ListView
Wicket中的ListView十分的強大。您可以將任何組件嵌入到ListView組件的行中,甚至將ListView進行循環嵌套也可以。 PageableListView支持大型數據列表的分頁導航。
樹形組件
具備導航和結點選擇的樹形組件。
本地化
HTML頁面、圖形和字符串都可以實現本地化。
示例
Wicket有展示其各項功能的數量巨大的例子。