<h:selectManyCheckbox value="#{userbean.booklist }">
<f:selectItem itemLabel="user" itemValue="Java" />
<f:selectItem itemLabel="Thinking in C++" itemValue="C++" />
<f:selectItem itemLabel="Spring Internals" itemValue="Spring" />
</h:selectManyCheckbox>
bookInfoList是java.util.List类型的
list里面放着javax.faces.model.selectItem类型的
SelectItme item1 = new SelectItem("Java", "user");
SelectItme item2 = new SelectItem("C++", "Thinking in C++");
SelectItme item3 = new SelectItem("Spring", "Spring Internals");
bookInfoList.add(item1);
bookInfoList.add(item2);
bookInfoList.add(item3);
userbean.booklist里面是一个String类型的数组,里面存放itemValue值("Java","C++"等值)
userbean.booklist这个里面存放是选中的值
另外一个使用的例子
<h:selectManyCheckbox layout="lineDirection" value="#{streetBackingBean.itemValueList}">
<f:selectItems value="#{streetBackingBean.selectItemList}"/>
</h:selectManyCheckbox>
/**
*@description 街道信息
*@author liangzhenghui
*@date Feb 13, 2014
*/
public class StreetBackingBean {
private List<Street> streets;
private JdbcService jdbcService;
private List<SelectItem> selectItemList;
private List<String> itemValueList;
public List getSelectItemList() {
String sql = "xxxx"
Object [] args = new Object[]{};
streets = jdbcService.queryForList(sql, args, new Street());
selectItemList = new ArrayList<SelectItem>();
itemValueList = new ArrayList<String>();
for(Street street:streets) {
selectItemList.add(new SelectItem(street.getCode(),street.getDetail()));
itemValueList.add(street.getCode());
}
return selectItemList;
}
public List<Street> getStreets() {
return streets;
}
public void setStreets(List<Street> streets) {
this.streets = streets;
}
public JdbcService getJdbcService() {
return jdbcService;
}
public void setJdbcService(JdbcService jdbcService) {
this.jdbcService = jdbcService;
}
public List<String> getItemValueList() {
return itemValueList;
}
public void setSelectItemList(List<SelectItem> selectItemList) {
this.selectItemList = selectItemList;
}
public void setItemValueList(List<String> itemValueList) {
this.itemValueList = itemValueList;
}
}