<zk>...</zk>
It is a special element used to aggregate other components. Unlike a real component (say, hbox or div), it is not part of the component tree being created. In other words, it doesn't represent any component. For example,
<window><zk><textbox/><textbox/></zk></window>
is equivalent to
<window> <textbox/><textbox/> </window>
The main use is to represent multiple root elements in XML format.
<?page title="Multiple Root"?> <zk> <window title="First"> ... </window> <window title="Second" if="${param.secondRequired}"> ... </window> </zk>
The other use is to iterate over versatile components.
<window> <zk forEach="${mycols}"> <textbox if="${each.useText}"/> <datebox if="${each.useDate}"/> <combobox if="${each.useCombo}"/> </zk> </window>
[Optional][Default: true]
Specifies the condition to evaluate this element. This element is ignored if the value specified to this attribute is evaluated to false.
[Optional][Default: false]
Specifies the condition not to evaluate this element. This element is ignored if the value specified to this attribute is evaluated to true.
[Optional][Default: ignored]
It specifies a collection of objects, such that the zk element will be evaluated repeatedly against each object in the collection. If not specified or empty, this attribute is ignored. If non-collection object is specified, it is evaluated only once as if a single-element collection is specified.
[Optional][Default: 0]
It is used with the forEach attribute to specify the starting offset when iterating a collection of objects. If not specified, it iterates from the first element, i.e., 0 is assumed.
[Optional][Default: 0]
It is used with the forEach attribute to specify the index (starting from 0) that the iteration shall begin at. If not specified, the iteration begins at the first element, i.e., 0 is assumed.
If forEachBegin is greater than or equals to the number of elements, no iteration is performed.
[Optional][Default: the last element]
It is used with the forEach attribute to specify the index (starting from 0) the iteration shall ends at (inclusive). If not specified, the iterations ends at the last element.
If forEachEnd is greater than or equals to the number of elements, the iteration ends at the last element.