PrimeFaces 2,如何使用ajax和h:selectOneBooleanCheckbox?

时间:2011-05-30 18:23:26

标签: ajax jsf primefaces

我有一个带有复选框(h:selectOneBooleanCheckbox)的JSF / PrimeFaces 2.x用户界面,其值会影响其他窗口小部件。类似的东西:

[X] checkbox1
  [____|V] combobox1
  [X] checkbox2

当checkbox1为false时,combobox1的选定值必须为null,而checkbox2也必须为false。

我想在check1检查时使用ajax设置支持bean中的值,但我不知道如何为h添加ajax支持:selectOneBooleanCheckbox

有人可以帮忙吗?谢谢, 罗布

1 个答案:

答案 0 :(得分:3)

在checkbox1中使用<f:ajax>方法嵌套listener,执行所需作业并呈现combobox1和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>,它提供了类似的功能。它仅使用update属性,而JSF标准<f:ajax>使用render属性。