jsf valuechangelistener未触发复选框取消选择

时间:2018-04-30 20:44:56

标签: jsf primefaces

我在表单上有一个带有valuechangelistener的primefaces复选框。在复选框选择时调用支持bean方法,但在取消选择时不会调用。

我在我的应用程序的其他地方使用相同的技术和几乎完全相同的代码,并且在select和deselect上都可以正常工作。

<p:selectBooleanCheckbox value="#{shareoutSlip.processed}" 
                              valueChangeListener="#{orderFormBean.handleShareoutSlipProcessed}" >
    <p:ajax />
</p:selectBooleanCheckbox>

这是valueChangeListener方法(它现在所做的只是向控制台打印一条消息):

public void handleShareoutSlipProcessed(ValueChangeEvent vcEvent) {
    logger.info("Shareout Slip Processed");
}

我的表单上是否有其他内容可能会干扰复选框取消选择时调用的方法?我在表单上添加了h:messages标记,但我没有看到任何验证消息。

1 个答案:

答案 0 :(得分:0)

您是否尝试在p:ajax标记内调用此方法?

<p:selectBooleanCheckbox value="#{shareoutSlip.processed}">
        <p:ajax event="change" listener="#{orderFormBean.handleShareoutSlipProcessed}" />
    </p:selectBooleanCheckbox>