日々精進

新しく学んだことを書き留めていきます

JSFのui:repeatで各行に付けたボタンのクリックイベントハンドラにindexかオブジェクトを渡す

JSFではui:repeatを使って繰り返しを表現することが多い。 以下のようにするとイベントハンドラにindexを渡せる。

<ui:repeat items="#{Hoge.items}" var="item" varStatus="stat">
  <h:commnadButton action="#{Hoge.hogeAction( stat.index )}" value="押してね♪"/>
</ui:repeat>

以下のようにするとイベントハンドラにオブジェクトを渡せる。

<ui:repeat items="#{Hoge.items}" var="item" varStatus="stat">
  <h:commnadButton action="#{Hoge.hogeAction( item)}" value="押してね♪"/>
</ui:repeat>

参考: