From Documentation
If you want to access UI object, you have to call getFellow to get its mapping java object. But why not just bind these components and data beans automatically? In the following example, you can omit the tedious getFellow calls, if your applied class extends GenericAutowireComposer.
In the following example, Full Name is updated automatically while you change First Name or Last Name.
<window apply="Autowired"> <grid> <rows> <row>First Name: <textbox id="firstName" forward="onChange=onFirstName"/></row> <row>Last Name: <textbox id="lastName" forward="onChange=onLastName"/></row> <row>Full Name: <label id="fullName"/></row> </rows> </grid> </window>
And the source code of Autowired.java:
import org.zkoss.zk.ui.event.Event; import org.zkoss.zk.ui.util.GenericAutowireComposer; import org.zkoss.zul.Label; import org.zkoss.zul.Textbox; public class Autowired extends GenericAutowireComposer { private Textbox firstName; //auto-wired private Textbox lastName; //auto-wired private Label fullName; //auto-wired //all getFellow() codes are removed public void onFirstName(Event event) { fullName.setValue(firstName.getValue()+" "+lastName.getValue()); } public void onLastName(Event event) { fullName.setValue(firstName.getValue()+" "+lastName.getValue()); } }
For detail information, please refer to ZK MVC Made Easy.