我在带有值更改侦听器的表单上有一个素数复选框。支持Bean方法在复选框选择时被调用,但在取消选择时不会被调用。
我在应用程序的其他地方对几乎相同的代码使用相同的技术,并且在选择和取消选择上都运行良好。
<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 标签,但我没有看到任何验证消息。
您是否尝试过在p:ajax
标签中调用此方法?
<p:selectBooleanCheckbox value="#{shareoutSlip.processed}">
<p:ajax event="change" listener="#{orderFormBean.handleShareoutSlipProcessed}" />
</p:selectBooleanCheckbox>