Controller
Overview
The controller is a Java program that is used to glue UI (view) and Data (model) together.
For a simple UI, there is no need of controller. For example, the data of a Listbox could be abstracted by implementing ListModel.
For typical database access, the glue logic (i.e., control) can be handled by a generic feature called Data Binding. In other words, the read and write operations can be handled automatically by a generic Data Binding, and you don't need to write the glue logic at all.
In this section we will discuss how to implement a custom controller (aka., a composer).
Custom Controller
A custom controller is also know as a composer (in ZK). To implement a composer, you could extend from GenericForwardComposer, or implement Composer from scratch. Then, specify it in the element it wants to handle in a ZUML document.
To implement the logic to glue UI and data, a composer usually do:
- Post-process components after ZK Loader renders a ZUML document. It can be done by overriding Composer.doAfterCompose(Component).
- Handle events and manipulate components if necessary.
In additions, a composer can be used to involve the lifecycle of ZK Loader for doing:
- Exception handling
- Component Instantiation monitoring and filtering
A composer be configured as page-level or system-level, such that it will be called when ZK Loader has processed a ZUML document.
GenericForwardComposer
Composer with More Control
Page-level Composer
System-level Composer
Version History
Last Update : 2010/11/11
Version | Date | Content |
---|---|---|