我在将对象从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
)。但没有区别。
请帮忙,
马特乌斯