actionListener
commandLinkからバッキング Bean にオブジェクトを渡す際に問題に直面しています。私が持っているのは、BeanMeasureBean
とxhtml
その Bean を使用するファイルです。
私が持っているxhtmlで:
<p:selectOneListbox var="ch">
<f:selectItems value="#{MeasureBean.checkpoints}" var="cp" itemValue="#{cp}" />
<p:column>
<h:outputText value="#{ch.name}" />
</p:column>
<p:column>
<h:commandLink actionListener="#{MeasureBean.onCheckpointRemoved(ch)}">
<h:graphicImage library="#{ctx.theme}" name="images/delete.gif" />
<f:ajax event="click" />
</h:commandLink>
</p:column>
</p:selectOneListbox>
Beanにはメソッドがあります:
public void onCheckpointRemoved(Checkpoint viewCheckpoint) {
System.out.println(viewCheckpoint);
// TODO
}
問題は、タグを使用する<f:ajax>
かどうかに関係なく、Bean のメソッドのパラメーター viewCheckpoint が常に null であることです。そのパラメーターを Bean に渡す必要があります。オブジェクト全体である必要はありません。チェックポイントの ID だけを渡すことができます。私も試したのは次のとおりです。
<h:commandLink actionListener="#{MeasureBean.onCheckpointRemoved(cp)}">
(cp
の代わりにch
)。しかし違いはありません。
助けてください、
マテウス