Released on April 30, 2008.
Getting Simpler and Richer
New Feature Highlight
- A user-friendier way to handle server's out-of-service
- The client side library has been enhanced.
- An easy way to get focus.
- See also New Features of ZK 3.0.5.
89 XUL and 83 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 (
Auto-completion for combobox.
Load on demand with writing Java codes.
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
100% Java API of Google Maps,
and Timeline components.
Event-driven, server-centric model
More than 20 events are supported:
All events are processed at the server. No hurdle to communicate between clients
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
- Powerful yet intuitive control flow by the
Scripting in EL expressions and your favorite scripting languages,
include but not limited to Java,
Ruby and Groovy.
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
Seamlessly and easily to encapsulate pure-client components as ZK
components with 100% Java API.
Customizing components with pre-compiled Java classes, or by scripting in
your favorite scripting languages,
include but not limited to Java,
Ruby and Groovy.
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.
- New Features:
- 1951358: A way to have component-specific Command
- 1936373: Translate messages to Arabic. Thank Ayman Ahmed Elgharabawy for his contribution.
- 1944509: textbox supports onCancel
- 1944512: HtmlBasedComponent supports setFocus(boolean)
- 1947534: A way to specify the session cache
- 1948462: AuResponse supports DeferredValue
- 1953246: Smart update supports an array of values
- 1949336: Component supports isInvalidated
- 1914491: BindingListModel subclasses are not accessible.
- Bug fixes:
- 1929139: [IE6/IE7 only] Incomplete requests being dropped
- 1926759: Invisible splitter still visible
- 1926092: Treeitem/listitem popup/context does not stay up
- 1926990: Timebox didn't show button when buttonVisible from false to true
- 1927788: ESC stops Ajax (FF only)
- 1927196: groupbox with grid bug (IE6Only)
- 1927154: IE6Only: grid inside tabbox floats outside tabbox area
- 1926480: Cant change header label dynamically.
- 1930068: IE appears corpse of Paging while using external Paging comp
- 1926094: Listfooter overlays Listheader (IE6)
- 1822717: slider's layout went wrong if sliding parent groupbox(IE6)
- 1882277: Overflow:auto lost when swiching accord tabbox (Safari only)
- 1752907: groupbox mold=3d FF animation jumping
- 1920793: The focused style of selected item differences Firefox/IE
- 1936366: focus don’t work after Messagebox
- 1933050: onSelect fail in Listbox's select mold when use key(FF&Sa)
- 1936804: combobox.onInitRender(Event data) triggers validation.
- 1472534: error popup is shown behind select inputs(IE6 only)
- 1938345: Log shall use Locale.getDefault, not Locales.getCurrent
- 1882432: Scrolbar of listbox is moved after sorting in Opera
- 1939059: Messagebox fail when the last node is a native HTML
- 1939061: <?page complete="true"?> not applicable to zul pages
- 1938534: Upload causes an exception, not reproducible but with log
- 1813518: Component namespace not work for page-level compoenent-def
- 1906748: Combobox, binding and selected item Fail in Java6 only
- 1942735: Failed to render with invalid URL as href(IE7 only)
- 1943783: Timebox fail to listen onOK event
- 1944918: character encoding problem with pre-Servlet 2.4
- 1945361: AjaxDevice's getContentType() shall not return charset
- 1943594: onblur shall not be sent if click on combobox's dropdown
- 1896267: zul.xsd invalid
- 1941947: Cannot find associated CollectionItem error
- 1948963: Timebox validation
- 1950313: F - 1764967 bug
- Session's getNativeSession() returns an instance of PortletSession
(rather than HttpSession), if ZK porlet is used.
DataBinder's addCollectionItem(String comp, CollectionItem decor) is
deprecated. Use addCollectionItem(Class item, Class owner, CollectionItem decor)