forEach属性によりどれくらいコンポーネントが作られるかが決められます。この属性にオブジェクトの集合を指定したら、ZKローダーが集合にあるそれぞれの項目にコンポーネントを作成します。たとえば、以下のZUMLページの中で、listitem要素が三回 (Mondayと Tuesdayと Wednesdayを)指定したので、三つのリスト項目が作成されます。
<zscript>contacts = new String[] {"Monday", "Tuesday", "Wednesday"};</zscript>
<listbox width="100px">
<listitem label="${each}" forEach="${contacts}"/>
</listbox>
forEach属性を使って要素を処理する際、each 変数はひとつずつ集合のオブジェクトより値が指定されます。たとえば、ひとつ前の例のcontactsです。ですので、上記のZUMLページは以下のものとは同様です。
<listbox> <listitem label="Monday"/> <listitem label="Tuesday"/> <listitem label="Wednesday"/> </listbox>
forEachに加えて、forEachBeginとforEachEndを使って繰り返すこともできます。詳細ZKユーザーインターフェースマークアップ言語のZK属性をご覧ください。