我有一个JSF/PrimeFaces2.x UI,其中有一个复选框(h:selectOneBooleanCheckbox),其值会影响其他小部件。类似于:
[X] checkbox1
[____|V] combobox1
[X] checkbox2
当checkbox1为false时,combobox1的选定值必须为null,checkbox2也必须为false。
我想在checkbox1的检查中使用ajax来设置backingbean中的值,但我不知道如何添加对h:selectOneBooleanCheckbox的ajax支持
有人能帮忙吗?谢谢Rob
在checkbox1中使用listener
方法嵌套<f:ajax>
,该方法执行所需的作业并渲染组合框1和checkbox1。
类似于:
<h:selectBooleanCheckbox value="#{bean.checkbox1}">
<f:ajax listener="#{bean.listener}" render="combobox1 checkbox2" />
<h:selectBooleanCheckbox>
<h:selectOneMenu id="combobox1" value="#{bean.combobox1}">
<f:selectItems ... />
</h:selectOneMenu>
<h:selectBooleanCheckbox id="checkbox2" value="#{bean.checkbox2}" />
带有
public void listener() {
if (!checkbox1) {
combobox1 = null;
checkbox2 = false;
}
}
PrimeFaces本身有一个<p:ajax>
,它提供simlilar功能。它只使用update
属性,而JSF标准<f:ajax>
使用render
属性。