Released on December 8, 2008.
Getting Simpler and Richer
New Feature Highlight
- New ZKDemo - more use cases, easier searching, and better usability.
- MVC Pattern enhanced with Data Binding
- Use Template to Layout Web Pages
- Define Library Properties in lang-addon.xml
- New Features
123 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:
- 2173627: A way to specify where to gen ZK tags in JSP (incl zul)
- 2173943: Enhance the generation of noscript (unavailable message)
- 2188951: Provide layout(template)-injection page composition
- 2086692: Data binder should have access to the composer
- 2314150: Execution.isBrowser(type) should be able to detect iphone..
- 2354640: lang-addon.xml supports library-property
- 2354769: Add the ZK 3.0.x button mold for ZK 3.5.x
- 2354768: Add the ZK 3.0.x paging mold for ZK 3.5.x
- 2368975: Data binder provide getAllBindings() to ease getting all
- 2386550: ZK Component Interface
- Bug fixes:
- 2154845: tab switch in Java - setImage makes layout go crazy
- 2156410: <noscript> shall be placed inside body rather than head (FF)
- 2162808: False alarm when using xsi:schemaLocation="..."
- 2163047: Some Zul components fail to clone and serialize
- 2165067: Fail to remove children via invoking it.previous()
- 2182062: Scroll button show in nested tabbox
- 2182111: tab strange when label is null
- 2188572: forEachStatus sample code does not work
- 2182972: issue with overlapped window, no title or border
- 2154611: Menuitem in Menubar - quirks
- 2197450: getNextSibling() not maintained in root components
- 2186722: Typo in window code sample
- 2199361: Failed to create components in Initiator.init()
- 2198961: AuUploader ignores 'nextURI' parameter
- 2202620: Comet unable to stop in the comet thread
- 2208873: fail to loop an array declared in zsciprt using python
- 2227929: createComponents(String, Map) shall not add to current page
- 2224964: FileUpload hang in IE on 1st click
- 2241429: Cross-Site Scripting Vulnerability in ZK
- 2233787: No selected item in radiogroup if select by arrow key
- 2261249: the bug of Grid with sorting
- 2280308: WrongValueException message is disappearing...
- 2280258: Setting the widths property of hbox with splitter is wrong
- 2308265: forEach doesn't handle boolean array
- 2313106: Fail to invalidate cmp inside borderlayout if flex=true...
- 2313445: It looks like strange after invalidate verticle tabs.
- 2217915: filedownload doesn't work when opera opera 9.5.x
- 2337652: ID space cleanup problem if not attached to a page
- 2319972: Tree with checkmarks shows layout quirks
- 2349456: It's not possible to navigate a listbox with keyboard only
- 2355376: IE fail in some special case
- 2241309: Clone component shall clone GenericAutowireComposer as well
- 2355943: Default content font-family (fontFamilyC) in Linux
- 2376488: DateBox parsing problem
- 2383106: Back button and form values reset not recognized
- 2388345: Defect in use of forEach, arrays and data binding
getMoldSclass is deprecated and replaced with
we are going to provide ZK Cascading Classes that allow developers
to configure the CSS with the component name.