生成jsf复选框

时间:2012-01-16 23:16:54

标签: spring jsf jsf-2 primefaces spring-webflow-2

我有一个多选列表框,根据用户选择的元素数量,我必须显示相同数量的复选框。我正在使用jsf和primefaces / spring webflow。我怎么能这样做?任何例子? 我必须创建一个复选框,允许单击一下检查所有生成的复选框。

1 个答案:

答案 0 :(得分:1)

  

我有一个多选列表框

因此,<h:selectManyListbox>具有固定的<f:selectItems>值。

<h:selectManyListbox id="listbox" value="#{bean.selectedListboxItems}">
    <f:selectItems value="#{bean.availableListboxItems}" />
</h:selectManyListbox>

有类似的东西:

private List<String> availableListboxItems;
private List<String> selectedListboxItems;

@PostConstruct
public void init() {
    availableListboxItems = new ArrayList<String>();
    availableListboxItems.add("menu item 1");
    availableListboxItems.add("menu item 2");
    availableListboxItems.add("menu item 3");
}

  

并且根据用户选择的元素数量,我必须显示相同数量的复选框

因此,只需根据<f:selectItems>的值预填充<h:selectManyCheckbox>的{​​{1}}。

<h:selectManyListbox>

类似

<h:commandButton value="Generate checkboxes">
    <f:ajax execute="listbox" listener="#{bean.generateCheckboxes}" render="checkboxes" />
</h:commandButton>
<h:selectManyCheckbox id="checkboxes" value="#{bean.selectedCheckboxItems}">
    <f:selectItems value="#{bean.availableCheckboxItems}" />
</h:selectManyCheckbox>

  

我正在使用jsf和primefaces / spring webflow。我怎么能这样做?任何例子?

我相信以上微不足道的例子就足够了。对于PrimeFaces,只需将private List<String> availableCheckboxItems; private List<String> selectedCheckboxItems; public void generateCheckboxes() { availableCheckboxItems = new ArrayList<String>(); for (int i = 1; i <= selectedListboxItems.size(); i++) { availableCheckboxItems.add("checkbox item " + i); } } 替换为<h:xxx>即可。但我不知道Spring Webflow是如何在这里发挥作用的,因为我从未使用它。


  

我必须创建一个复选框,只需点击一下即可检查所有生成的复选框。

这是留给你的练习。提示:请确保<p:xxx>包含所需的值,具体取决于应代表“切换所选项目”的availableCheckboxItems的当前值。