【发布时间】:2012-02-11 20:17:18
【问题描述】:
我有一个多选列表框,根据用户选择的元素数量,我必须显示相同数量的复选框。我正在使用 jsf 和 primefaces /spring webflow。我怎么能这样做?有什么例子吗? 我必须制作一个复选框,允许一键检查所有生成的复选框。
【问题讨论】:
标签: spring jsf jsf-2 primefaces spring-webflow-2
我有一个多选列表框,根据用户选择的元素数量,我必须显示相同数量的复选框。我正在使用 jsf 和 primefaces /spring webflow。我怎么能这样做?有什么例子吗? 我必须制作一个复选框,允许一键检查所有生成的复选框。
【问题讨论】:
标签: spring jsf jsf-2 primefaces spring-webflow-2
我有一个多选列表框
因此,<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");
}
根据用户选择的元素数量,我必须显示相同数量的复选框
因此,只需根据<h:selectManyListbox> 的值预填充<h:selectManyCheckbox> 的<f:selectItems>。
<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>
类似的东西
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);
}
}
我正在使用 jsf 和 primefaces /spring webflow。我怎么能这样做?有什么例子吗?
我相信上面这些琐碎的例子就足够了。对于 PrimeFaces,只需将 <h:xxx> 替换为 <p:xxx>。但是我不知道 Spring Webflow 是如何在其中发挥作用的,因为我从未使用过它。
我必须制作一个复选框,允许一键检查所有生成的复选框。
这是留给你的练习。提示:确保availableCheckboxItems 包含所需的值,具体取决于<h:selectBooleanCheckbox> 的当前值,该值应表示“切换所选项目”。
【讨论】:
selectedCheckboxItems。 2)这只是一个基本的例子。在您的情况下,只需实现 Converter。