Data Binding
From Documentation
Data binding synchronizes data between View and ViewModel according to component definition's annotation. The annotation specifies when to save (or load) which attribute, how to convert, validate and render the data. It can be found in metainfo\zk\lang-addon.xml of zkbind.jar. Please refer to ZK Client-side Reference/Language Definition about how to configure language definition and its addon. If you want data binding can works on your newly-created component, you should define its own annotations.
ZKBIND zkbind system's annotation name
ACCESS | Access privilege. The value can be "both", "save", or "load"(default value); default value is used if not specify. |
CONVERTER | System converter for special properties. e.g. SelectedItem in listbox. see ListboxSelectedItemConverter |
VALIDATOR | System validator for special properties. |
SAVE_EVENT | Save trigger event. It takes effect only when ACCESS attribute is "both" or "save". |
LOAD_EVENT | Load trigger event; It takes effect only when ACCESS attribute is "both" or "load". |
LOAD_REPLACEMENT | The replacement attribute for loading. It's used when there is a issue to load to original attribute.; e.g. value of textbox, it loads to "rawValue". |
LOAD_TYPE | Type of attribute for loading; e.g. rawValue of textbox is java.lang.String. |
SAVE_REPLACEMENT | The replacement attribute for saving. It's used when there is a issue to save to original attribute.; e.g. selectedItem of selectbox, it save the value selecteIndex via converter to the bean. (selectedItem is not existed in selectbox). |
RENDERER | A special renderer for binding |
<component>
<component-name>textbox</component-name>
<extends>textbox</extends>
<annotation>
<annotation-name>ZKBIND</annotation-name>
<property-name>value</property-name>
<attribute>
<attribute-name>ACCESS</attribute-name>
<attribute-value>both</attribute-value>
</attribute>
<attribute>
<attribute-name>SAVE_EVENT</attribute-name>
<attribute-value>onChange</attribute-value>
</attribute>
<attribute>
<attribute-name>LOAD_REPLACEMENT</attribute-name>
<attribute-value>rawValue</attribute-value>
</attribute>
<attribute>
<attribute-name>LOAD_TYPE</attribute-name>
<attribute-value>java.lang.String</attribute-value>
</attribute>
</annotation>
</component>
Version History
Version | Date | Content |
---|---|---|