我有简单的数据表(Primefaces)。在此表中,最后一列包含一个应设置参数 (f:param) 的按钮。我正在使用带有 ajax="true" 参数的 p:commandButton。该按钮绑定到操作(托管 bean 中的方法)。一切都很好,直到我第二次单击数据表中的按钮。这是为什么 ?
代码如下所示:
<p:dataTable id="zones" value="#{appointmentForm.matchingZones}"
var="zone" paginator="true" rows="10"
paginatorTemplate="{RowsPerPageDropdown} {FirstPageLink} {PreviousPageLink} {CurrentPageReport} {NextPageLink} {LastPageLink}"
emptyMessage="#{msg['label.noAvailableZones']}">
<p:column headerText="#{msg['label.choose']}">
<p:commandButton value="#{msg['label.choose']}"
actionListener="#{appointmentForm.handleChosenZone}" process="@this"
update=":verificationForm" ajax="true">
<f:param name="zoneId" value="#{zone.id}"/>
</p:commandButton>
</p:column>
</p:datatable>
当我第一次正确设置参数时单击任一行中的按钮但在第二次时我得到 NullPointerException。
有任何想法吗 ?