ZK 要素の switch と case 属性によって、変数の値がマッチするか否かでZK ページを部分的に評価するかどうかを区別できます。
<zk switch="${fruit}">
<zk case="apple"> Evaluated only if ${fruit} is apple </zk> <zk case="${special}"> Evaluated only if ${fruit} equals ${special} </zk>
<zk> Evaluated only if none of the above cases matches. </zk> </zk>
ZK ローダーは、switch 属性で指定された値の switch 条件にマッチするまで、最初の case から最後の case の範囲で 評価をし続けます。評価はお互いに排他的です。最初にマッチした case のみ評価されます。
デフォルトでは、どの case もない状態です。ということは、いつもマッチします。そして上記の全ての case がマッチしないときに評価されます。
ZK ページの部分が複数の case のどれかとマッチするかの評価が必要なときは、1つの case 属性に case のリストを指定できます。
<zk switch="${fruit}">
<zk case="apple, ${special}">
Evaluated if ${fruit} is either apple or ${special}
</zk>
</zk>
<zk switch="${fruit}"> <zk case="/ap*.e/"> Evaluate if the regular expression, ap*.e"., matches the switch condition. </zk> </zk>