Click Web Framework 1.5: Container, ActionListener, Two Phase Event Dispatch and More
Click 1.5 is a major release with numerous new features, documentation and examples.
Click is a modern page and component oriented Java web framework providing a natural rich client style programming model. Please see this introductory article for a quick overview.
We would like to thank everyone for their contributions to this release.
Important links:- Click Home
- Roadmap and Changes
- Upgrade Path - please see the upgrade path when upgrading from a previous release.
- Download Click 1.5
- Maven bundles
- Live examples
Highlights include:
- Container - new interface for building arbitrary complex, hierarchical Controls.
- ActionListener - new interface provides compile time safety and support for code refactoring tools.
- Performance have been enhanced by rendering markup from a single buffer. In previous releases each Control managed its own internal String buffer. Our tests indicate performance gains of up to 40%.
- Services - Click core has been refactored into pluggable services.
- Added Freemarker support as an alternative templating engine to Velocity. See FreemarkerTemplateService for configuration details.
- Provide three logging service implementations: ConsoleLogService, JdkLogService and Log4JLogService
- Mock Test Support - introduces an easy to use package to write Unit and Functional Tests.
- ControlRegistry - enables two phase listener dispatch, which allows Controls to bind request parameters before listeners are fired.
- A new deployment strategy allows deployment of resources directly from jars.
- New Renderable interface allows alternative paginator implementations for Table. Two implementations are available with Click 1.5: TablePaginator and TableInlinePaginator.
- A new Powered by Click section was added. If you would like to add your own site to this list, please drop us a mail at one of our Mailing Lists.
New documentation:
- Container explains the new Container concept
- Template vs Programmatic layout explains different layout strategies
- Mock Test Support provides overview of the new testing support in 1.5
- Deploying custom resources describes how to deploy resources such as JavaScript, CSS and images
- Multiple pages packages allows you to host or integrate pages from separate packages
New examples:
- Wizard demo shows how to leverage a stateful page and Panels to create a process flow. Each Step in the process is represented by a Panel which is managed by the stateful Page.
- Populate on select shows how items in one combo box is populated based on the selected item in another using JavaScript.
- FormTable demo shows how a FormTable can be used together with an existing Form.
- Page link tree provides a demonstration of using the Tree component to link to different pages.
- Table paginators shows the different paginators available
- New fields Country Select and Virtual Keyboard
- Custom Form Layout using Containers shows how to use a Container for laying out forms
Issues resolved since RC3:
- Added Dutch language support, contributed by Christopher Highway.
- Improved Form to process controls even if their names is not defined. [463].
- Fixed ContainerUtils.copyTo where the wrong getter method could be used when a domain object contains multiple overloaded getter methods. This issue was raised by Alvin Townsend [461].
- Fixed Column internal Comparator which does not take sort order into consideration for non Comparable instances [462].
- Fixed Panel.getId() to return null if name is not defined [464].
- Fixed VelocityTemplateService to cater for custom defined Velocity loggers. This issue was raised by Vikram Natarajan [465].
Enjoy.
The Click team.
- Login or register to post comments
- 1842 reads
- Printer-friendly version
(Note: Opinions expressed in this article and its replies are the opinions of their respective authors and not those of DZone, Inc.)









