ZK 2.4
Released on June 8, 2007.
Download Now
Getting Simpler and Richer
New Feature Highlight
- Load on demand without writing Java codes
- An option to disable the use of the event processing thread
- New and simipler way to add annotations
- Highlighted windows, embedded fileupload component, and many more...
- See also New Features of ZK 2.4.
Feature Updates
-
77 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 (
java.lang.Comparator ).
-
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
expression and
$#,##0 .
-
100% Java API of Google Maps,
FCKeditor,
DOJO,
and Timeline components.
-
Event-driven, server-centric model
-
More than 20 events are supported:
onChange , onChanging ,
onScroll , onSelect , onShow ,
onZIndex ...
-
All events are processed at the server. No hurdle to communicate between clients
and servers.
-
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 EL expressions and your favorite scripting languages,
include but not limited to Java,
JavaScript,
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
existent components.
-
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,
JavaScript,
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.
What's New
- New Features:
- 1727154: Support the fulfill attribute to defer creation of children
- 1711860: An option to use native thread instead of event thread
- 1728718: A simple way to annotate properties
- 1715542: Window supports the highlighted mode
- 1701213: Support embedded fileupload component
- 1733166: A way to provide more sophisticated JS for ClientConstraint
- 1719075: Support the onPiggyback event at the root component level
- 1712518: Decimalbox supports different round mode (Java 6 is required)
- 1715649: A way to create inline macro manually
- 1731302: Use the syntax similar to servlet to configure richlet
- 1712548: isAsap shall not be part of EventListener
- 1719140: A way to show custom message when javascript is disabled
- 1721123: Improve performance if DOCTYPE is specified in zhtml
- 1719781: Allow component itself to arg0 AnnotateDataBinderInit
- 1721126: Configurable Tab Height
- 1726708: A more generic way to intercept the request for Locale etc.
- 1725484: Prevent the 2nd onOK and onClick if the prev is processing
- 1728196: Interpreter supports containsVariable
- 1728157: getProperties() for class ComponentInfo
- 1728220: Make NodeInfo.appendChild(ComponentInfo) public
- 1727687: add Component[] constructor to Box, Hbox and Vbox
- 1730438: AnnotateDataBinder support new simpler property annotation
- 1730457: Tab shall receive onSelect in additon to Tabbox
- 1731138: AnnotateDataBinder should allow relative path
- 1715546: Messagebox supports the native (Servlet) thread mode
- 1731126: timout redirect should be device aware
- 1732570: Add serialization listener for component, page, desktop, session
- 1732614: Support ComponentCloneListener
- 1729210: Combox suport Object like Listbox
- Bug fixes:
- 1728010: Inconsistent behavior when dragging multiple selected item
- 1711769: Grid on Vbox visibility bug
- 1712063: Vbox visibility bug with CSA action.show
- 1711127: Messagebox INFO ICON
- 1711117: Listbox with ListModel rendered empty when attached later
- 1714094: Failed to show the custom error page if failed to include
- 1716526: Failed to serialize radiogroup
- 1719101: Prevent detaching component belonging to other desktop
- 1720869: onClientInfo no longer firing
- 1720620: zkFilter shall not filter DOCTYPE with DTD XHTML
- 1721158: Modal window as child of another cause mask pos wrong
- 1716442: Window.onClick disable toolbarbutton.onclick
- 1722888: forEach failed with Groovy
- 1721859: width attribute broken when percent is used
- 1719851: Captcha doesn't Support clustering Environment
- 1719854: Chart is not Serializable
- 1723570: Datebox databind strange behaviour
- 1712483: Data Binding error
- 1724609: Listbox.focus failed to focus correctly if change selection
- 1724938: XHTML center tag failed
- 1724571: getErrorMessage of textboxis not working if validate by Java
- 1728807: getErrorMessage of textboxis not working if validate by Java
- 1725709: ExecutionCleanup.cleanup() is called too early in execUpdate
- 1725604: Drag&Drop: Missing drop target gesture (FF)
- 1726783: getSelectedTab is wrong if tabs is attached a tabbox later
- 1727225: Failed if adding 2nd tab with selected
- 1727352: Live data listbox loads too many item at the beginning
- 1725299: BindingListModelSet doesn't support Serialization
- 1728692: Interpreter failed to handle a variable with null value
- 1729253: Can not forward page
- 1729343: Failed to change focus after a modal dialog
- 1725304: BindingListitemRenderer is NOT Serializable
- 1730454: BindingRowRenderer is NOT Serializable
- 1730532: Event listener didn't iterate correct if some is removed dyn
- 1729523: Combobox didn't adjust width right if item added onOpen
- 1729739: Grid footer produces <td width = "0px">
Upgrade Notes
- The
isAsap method of org.zkoss.zk.ui.event.EventListener
is abandoned. By default, EventListener is ASAP (i.e., non-deferrable).
To have a deferrable event listener, you have to implement
org.zkoss.zk.ui.event.Deferrable .
In other words, any event listener that returns false in the isAsap method
shall implements Deferrable and returns true in the isDeferrable method.
- The
org.zkoss.zk.ui.sys.UiFactory interface adds a new method:
public Component newComponent(Page page, Component parent,
ComponentInfo compInfo);
LocaleProvider and TimeZoneProvider are removed.
Use RequestIntercepter instead.
GenericInterpreter.getFromNamespace() returns UNDEFINED to denote
a variable is not defined, while null is a valid value.
- The
timeout-uri element under the session-config element is deprecated.
Riather, put it under the device-config element.
- The 2.3 syntax for defining richlets is deprecated.
Rather, use the richlet and richlet-mapping elements.
org.zkoss.zk.ui.http.ActivationListener is renamed to
WebManagerActivationListener .
|
- 10.0.2 on Sep. 6, 2024
- 10.0.1.1 on Jul. 2, 2024
- 10.0.1 on Jun. 14, 2024
- 10.0.0 on Feb. 27, 2024
- 9.6.5 on Mar. 5, 2024
- 10.0.0-Beta on Oct. 18, 2023
- 9.6.4 on May 16, 2023
- 9.6.3 on Oct. 25, 2022
- 9.6.0.2 on May 30, 2022
- 9.5.1.4 on May 30, 2022
- 9.0.1.3 on May 30, 2022
- 8.6.4.2 on May 30, 2022
- 9.6.2 on May 24, 2022
- 9.6.1 on Jan. 11, 2022
- 9.6.0.1 on Aug. 30, 2021
- 9.6.0 on Aug. 10, 2021
- 9.5.1.3 on Apr. 29, 2021
- 9.5.1.2 on Apr. 8, 2021
- 9.5.1.1 on Mar. 23, 2021
- 9.5.0.3 on Mar. 23, 2021
- 9.5.1 on Mar. 9, 2021
- 9.5.0.2 on Nov. 24, 2020
- 9.5.0.1 on Oct. 13, 2020
- 8.6.4.1 on Oct. 7, 2020
- 9.5.0 on Sep. 29, 2020
- 9.1.0 on Jun. 16, 2020
- 8.6.3.1 on Jun. 10, 2020
- 8.6.0.2 on Jun. 10, 2020
- 8.5.1.3 on Jun. 10, 2020
- 8.5.0.1 on Jun. 10, 2020
- 9.0.0.1 on May 19, 2020
- 9.0.1.2 on May 5, 2020
- 9.0.1 on Apr. 21, 2020
- 8.6.4 on Feb. 4, 2020
- 9.0.0 on Dec. 10, 2019
- 8.6.3 on Sep. 24, 2019
- 8.6.2 on Jun. 25, 2019
- 8.6.1 on Mar. 5, 2019
- 8.6.0.1 on Nov. 20, 2018
- 8.6.0 on Nov. 7, 2018
- 8.5.2.1 on Aug. 28, 2018
- 8.5.2 on Jul. 31, 2018
- 8.5.1.2 on Apr. 10, 2018
- 8.5.1.1 on Mar. 20, 2018
- 8.5.1 on Mar. 6, 2018
- 8.5.0 on Oct. 31, 2017
- 8.0.5 on May 16, 2017
- 8.0.4.2 on Feb. 14, 2017
- 8.0.4.1 on Jan. 24, 2017
- 8.0.4 on Jan. 10, 2017
- 8.0.3.1 on Oct. 18, 2016
- 6.5.8.2 on Oct. 18, 2016
- 7.0.8.1 on Oct. 12, 2016
- 8.0.3 on Sep. 26, 2016
- 8.0.2.1 on May 31, 2016
- 8.0.2 on May 24, 2016
- 7.0.8 on Mar. 29, 2016
- 8.0.1.1 on Feb. 2, 2016
- 7.0.7 on Dec. 15, 2015
- 8.0.0 on Oct. 06, 2015
- 7.0.6.1 on Aug. 19, 2015
- 7.0.6 on Aug 11, 2015
- 6.5.8.1 on Jul. 30, 2015
- 6.5.8 on Jun. 23, 2015
- 8.0.0 RC on May 26, 2015
- 7.0.5.2 on Apr. 29, 2015
- 7.0.5.1 on Apr. 28, 2015
- 7.0.5 on Mar. 24, 2015
- 7.0.4 on Dec. 10, 2014
- 7.0.3.2 on Nov. 05, 2014
- 6.5.7.1 on Nov. 05, 2014
- 7.0.3.1 on Oct. 15, 2014
- 7.0.3 on Sep. 02, 2014
- 6.5.7 on Aug. 12, 2014
- 7.0.2 on May 27, 2014
- 6.5.6 on May 06, 2014
- 7.0.1 on Feb. 25, 2014
- 6.5.5 on Dec. 30, 2013
- 7.0.0 on Nov. 26, 2013
- 6.5.4 on Oct. 28, 2013
- 7.0.0-RC on Oct. 22, 2013
- 6.5.3 on Sep. 17, 2013
- 7.0.0 Preview on Aug. 13, 2013
- 6.5.2 on Mar. 26, 2013
- 6.5.1.1 on Dec. 13, 2012
- 6.5.1 on Dec. 05, 2012
- 6.5.0 on Sep. 12, 2012
- 6.0.3.1 on Nov. 07, 2012
- 6.0.3 on Oct. 30 24, 2012
- 6.0.2 on Jul. 24, 2012
- 6.0.1 on May 02, 2012
- 5.0.12 on Nov. 06, 2012
- 5.0.11 on Mar. 27, 2012
- 5.0.10 on Jan. 03, 2012
- 6.0.0 on Feb. 14, 2012
- 6.0.0 RC2 on Dec. 06, 2011
- 6.0.0 RC on Nov. 15, 2011
- 5.0.9 on Oct. 18, 2011
- 5.0.8 on Aug. 31, 2011
- 5.0.7 on May. 11, 2011
- 5.0.6 on Feb. 24, 2011
- 5.0.5 on Nov. 2, 2010
- 5.0.4 on Aug. 31, 2010
- 5.0.3 on Jun. 29, 2010
- 5.0.2 on May 12, 2010
- 5.0.1 on Mar. 16, 2010
- 3.6.4 on Mar. 16, 2010
- 5.0.0 on Jan. 26, 2010
- 5.0.0 RC2 on Dec. 8, 2009
- 3.6.3 on Nov. 3, 2009
- 5.0.0 RC on Sep. 28, 2009
- 3.6.2 on Jun. 23, 2009
- 3.6.1 on Apr. 28, 2009
- 3.0.9 on Mar. 16, 2009
- 3.6.0 on Mar. 2, 2009
- 3.5.2 on Dec. 8, 2008
- 3.5.1 on Oct. 8, 2008
- 3.0.8 on Oct. 8, 2008
- 3.5.0 on Sep. 10, 2008
- 3.0.7 on Aug. 1, 2008
- 3.0.6 on Jun. 24, 2008
- 2.4.3 on Jun. 23, 2008
- 3.0.5 on Apr. 30, 2008
- 3.0.4 on Mar. 25, 2008
- 3.0.3 on Feb. 01, 2008
- 3.0.2 on Jan. 22, 2008
- 2.4.2 on Dec. 19, 2007
- 3.0.1 on Dec. 17, 2007
- 3.0.0 on Nov. 6, 2007
- 2.4.1 on Jul. 6, 2007
- 2.4.0 on Jun. 8, 2007
- 2.3.1 on May 2, 2007
- 2.3.0 on Mar. 20, 2007
- 2.2.1 on Jan. 2, 2007
- 2.2.0 on Dec. 13, 2006
- 2.1.3 on Oct. 24, 2006
- 2.1.2 on Oct. 3, 2006
- 2.1.1 on Sep. 19, 2006
- 2.1.0 on Aug. 28, 2006
- 2.0.1 on Jun. 26, 2006
- 2.0.0 on Jun. 13, 2006
- 1.1.0 on Mar. 20, 2006
- 1.0.0 on Feb. 27, 2006
|