forEach 属性用来控制要创建多少组件,如果你为这个对象指定一个对象集合,ZK 装载机(ZK loader)将为每个被指定的集合项目创建一个组件。在下面的ZUML页面中,listitem元素将被赋值三次(
分别为"Monday", "Tuesday" 和"Wednesday")然后产生三个list项目。
<zscript>contacts = new String[] {"Monday", "Tuesday", "Wednesday"};</zscript> <listbox width="100px"> <listitem label="${each}" forEach="${contacts}"/> </listbox>
当使用forEach属性赋值时,
每个变量被一个接一个的赋予来自集合的对象,即像先前接触的例子一样。因上面的ZUML页面和下面的是等价的:
<listbox> <listitem label="Monday"/> <listitem label="Tuesday"/> <listitem label="Wednesday"/> </listbox>
另外,你也可以为forEach
属性指定一个项目列表,通过逗号来分隔各个项目。
<listbox> <listitem label="${each}" forEach="Monday, Tuesday, Wednesday"/> </listbox>
除了使用forEach,还可以通过forEachBegin和forEachEnd来控制迭代(
iteration),可以参考ZK用户标记语言一章中ZK属性一节获取详细信息。