题
我正在创建一个 javax.faces.model.SelectItem
的列表(在bean中),用于 h:selectManyCheckbox
,但我无法弄清楚如何选择 SelectItem
。
怎么做?一定是可能的,对吗?...
public List<SelectItem> getPlayerList(String teamName) {
List<SelectItem> list = new ArrayList<SelectItem>();
TeamPage team = (TeamPage) pm.findByName(teamName);
List<PlayerPage> players = pm.findAllPlayerPages();
for (PlayerPage player : players) {
boolean isMember = false;
if (team.getPlayerPages().contains(player)) {
isMember = true;
}
SelectItem item;
if (isMember) {
// TODO: Make SelectItem selected???
item = null;
} else {
item = new SelectItem(player.getId(), createListItemLabel(player), "", false, false);
}
list.add(item);
}
return list;
}
解决方案
假设我们有这个JSF代码:
<h:selectManyCheckbox value="#{bean.selectedValues}">
<f:selectItems value="#{bean.playerList}"/>
</h:selectManyCheckbox>
然后所选的值(即选中的复选框)存储在 bean.selectedValues 属性中。
因此,在Java代码中,您必须通过在 selectedValues 属性中放入正确的ID来处理selectValues。
不隶属于 StackOverflow