The Apache Wicket team is proud to announce the immediate availability of the newest release of their component oriented open source Java web framework. Apache Wicket 1.5 has been in development for the last two years and brings many improvements over previous versions.
Downloading Apache Wicket 1.5
You can download the release here: http://www.apache.org/dyn/closer.cgi/wicket/1.5.0
Or use this in your Maven POM to upgrade to the new version:
Please note that Wicket’s main artifact ID has been renamed to
You will need to upgrade all modules (i.e. wicket, wicket-extensions, wicket-ioc, wicket-spring, etc) to 1.5.0. It is not possible to mix previous versions of Wicket with modules of this release.
Most notable changes
With this release the Wicket team has revised many of its internals. A short list:
- HTML5 components added:
- New inter-component events (explained below)
- Minimum required servlet API is servlet-api 2.5
- All standard validators now extend
Behaviorto allow for client side validations
IBehaviorhas been removed and
AbstractBehaviorhas been deprecated, you should now extend
- Simplified the request cycle processing and made it more extensible
- URL handling is now in one place
- Wicket’s rendering code has been greatly simplified
- Improved browser caching support
- ClientSideImageMap replaces old ImageMap
- Better support for running behind proxies with
- Request cycle listeners make it easier to integrate frameworks in your Wicket application
- Consistent naming: methods with
- Switching to HTTPS is as simple as configuring a new root mapper to make Wicket HTTPS aware and annotating a page with @RequireHttps
A longer list of changes and improvements can be found in our migration guide.
Wicket 1.5 offers a simple, yet flexible, way for component to communicate with each other in a decoupled manner. The two major interfaces that facilitate this are:
The classes that implement these interfaces, and can thus participate in the event mechanism are:
The mechanism allows for different event broadcast methods defined here:
There is an example in wicket-examples which demonstrates the usage of this.
Applications can register custom event dispatchers in
FrameworkSettings; the dispatchers can be used to build custom event delivery mechanisms. For example a custom
IEventDispatcher mechanism can route events to annotated methods, for example:
UserAddedEvent is the event payload object.
Component#onEvent method will be called even if custom dispatchers are registered.
A default event is raised whenever Wicket begins to create an AJAX response. The payload of the event is the
AjaxRequestTarget used for event. Sample implementation: