ZK 2.2

Released on December 13, 2006.

Download Now

Getting Simpler and Richer

New Feature Highlight

  • Access database in ZUML with zero Java codes.
  • Grids, listboxes and trees allowing user to resize column widths by dragging borders.
  • Windows allowing user to resize the width and height by dragging borders.
  • ZUML annotations allowing UI designers to embed declarations for specific tools.
  • more...

Feature Updates

  • 71 XUL and 82 HTML off-the-shelf components.
    • Tabbox, grid, listbox, tree, menu, combobox, bandbox, datebox, chart, hbox, vbox, window, slider, paging, audio, image, timer, include, iframe...
    • Drag-and-drop supported by all components, such that users can drag components and drop them to any other or particular set of components.
    • Context menus and customizable tooltips supported by all components, such that a menu or any popup appears when user click, right-click or move the mouse over a component.
    • Customizable sorting of listbox, grid and children of any component with 100% Java codes (java.lang.Comparator).
    • Auto-completion for combobox.
    • Live data for listbox.
    • Grids, listboxes and trees with sizable columns.
    • All components are cloneable and serializable.
    • Validation and formatting for any input components, such as regular expression and $#,##0.
    • 100% Java API of Google Maps, FCKeditor and Dojo components.
  • Event-driven, server-centric model
    • More than 20 events are supported: onChange, onChanging, onScroll, onSelect, onShow, onZIndex...
    • All event listeners are handled in Java, either by compiled byte-codes or by BeanShell, up to application developers.
    • All events are processed at the server. No JavaScript required.
    • All events are synchronized. No racing condition to worry about.
  • ZK User-interface Markup Language (ZUML).
    • Rich user interface could be designed in ZUML as simple as authoring HTML pages.
    • Powerful yet intuitive control flow by the if, unless and forEach attribute.
    • Scripting in Java (by BeanShell) and EL expressions.
    • Hot changes and updates without restarting your Web applications.
    • Annotations that allow a page to acess database with zero Java codes.
  • Browser history management.
    • Add states to browser's back button history. Then, users can bookmark and use the back and forward button to navigate different states of the same ZK desktop.
  • Simple yet boundless component model.
    • Macro components. Developing a full-feature new component by using another ZUML pages.
    • Inheritable customization. Developing a new component by extending existent components.
    • Seamlessly and easily to encapsulate pure-client components as ZK components with 100% Java API.
    • Customizing components with pre-compiled Java or by scripting in Java. The choice is yours.
  • Simple yet flexible threading model.
    • Thread-safe component handling.
    • True server-side Modal dialog.
    • Suspend and resume event listeners freely.
  • 100% Customizable User-Interface factory.
    • Loading ZUML pages not only from Web contents but also any repository such as database.
    • Customizing the features of sessions, desktops and pages.

What's New

  • New Features:
    1587247, 1587699, 1587701, 1588387, 1589060, 1589050, 1589119, 1567850, 1502660, 1548218, 1441459, 1589979, 1490690, 1446618, 1557255, 1554667, 1595528, 1595720, 1598491, 1600161, 1601030, 1600480, 1601498, 1601627, 1601661, 1602084, 1602095, 1603857, 1605966, 1606091, 1606490, 1608252, 1608289, 1608933, 1506441, 1609865, 1390288, 1613642.
    • Support ZUML annotations.
    • Add AnnotateDataBinder to do the data binding automatically.
    • Support the Opera browser.
    • Slovenian messages are supported. Thank Žiga Gantar for his contribution.
    • Indonesian messages are supported. Thank James Liam Supangkat for his contribution.
    • The listbox, grid and tree components allow users to resize the column width by dragging the borders.
    • The window component is sizable by dragging the borders.
    • ListModelList, ListModelSet, ListModelMap are supported to refresh the Listbox automatically.
    • HibernateUtil supports Hibernate annotations.
    • New Google Maps components: ginfo and gmarker.
    • InterPortletFilter is added to resolve the limitation of the lack of inter-portlet communication.
    • The confirmClose method of the org.zkoss.zk.ui.util.Clients class is added to prevent an user from closing the browser window, reloading and browsing to another URL.
  • Bug fixes:
    1584857, 1586951, 1589575, 1588507, 1590590, 1590603, 1579515, 1591389, 1593939, 1593674, 1594756, 1597852, 1593674, 1596399, 1599615, 1599692, 1599737, 1599788, 1575843, 1601000, 1601581, 1604549, 1611053, 1608736, 1613711, 1612312, 1614490, 1614500.

Upgrade Notes

  • You have to implement a new method called doAfterCompose for classes that implement the org.zkoss.zk.ui.util.Initiator interface.
  • CSS styles that ZK doesn't use are moved to normex**.css.dsp. To use them, add the following component to your page:
    <style src="~./zul/css/normex**.css.dsp"/>
  • You have to implment a new method called indexOf for classes that implement the org.zkoss.zul.ListModel interface.