The controller is a Java program that is used to glue UI (view) and Data (model) together.
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).
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.
Composer with More Control
Last Update : 2010/11/11