3

我有一个带有各种复选框的面板网格。复选框与某个掩码相关联。当复选框被按下时,复选框的值(选中/取消选中)和特定于该复选框的掩码参数应传递给侦听器。

<p:selectBooleanCheckbox value="#{options.mustChangePasswordMask}">
    <p:ajax listener="#{options.selectionChanged}" /> 
</p:selectBooleanCheckbox>

<p:selectBooleanCheckbox value="#{options.mustChangePasswordMask}">
    <p:ajax listener="#{options.selectionChanged('MASK_1')}" /> 
</p:selectBooleanCheckbox>

这两个代码片段只完成了我想要的一半工作。我想在所有复选框中使用监听器,所以我不能在监听器中使用 mustChangePasswordMask 属性。是否可以将复选框值作为参数发送给侦听器或以侦听器可访问的其他方式发送?

4

1 回答 1

7

当前组件在 EL 中可用作隐式变量#{component}。在输入组件中,这将使用UIInput类的实例进行设置,该实例又具有getValue()返回提交、转换和验证值的方法。所以,这应该做

<p:ajax listener="#{options.selectionChanged(component.value)}" />
于 2012-06-27T11:21:03.877 回答