forEach属性

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属性一节获取详细信息。