我有一个带有各种复选框的面板网格。复选框与特定掩码相关联。按下复选框时,应将复选框的值(选中/未选中)和特定于该复选框的掩码参数传递给监听器。
<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 属性。是否可以将复选框值作为参数发送给监听器或以监听器可访问的其他方式发送?
最佳答案
当前组件在 EL 中可用作隐式变量 #{component}
。在输入组件中,这将使用 UIInput
的实例进行设置类又具有 getValue()
返回提交、转换和验证值的方法。所以,这应该做
<p:ajax listener="#{options.selectionChanged(component.value)}" />
关于java - 将组件值和另一个参数发送给监听器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11224994/