下拉列表多选框:
<af:selectManyChoice
value="#{ContractManageServer.contractTypes}"
id="smc1">
<af:selectItem label="可研" value="可研" id="si1"/>
<af:selectItem label="咨询" value="咨询" id="si2"/>
<af:selectItem label="勘察" value="勘察" id="si3"/>
<af:selectItem label="施工" value="施工" id="si4"/>
<af:selectItem label="竣工图" value="竣工图" id="si5"/>
<af:selectItem label="总承包" value="总承包" id="si6"/>
<af:selectItem label="初步设计" value="初步设计" id="si7"/>
<af:selectItem label="施工设计" value="施工设计" id="si8"/>
</af:selectManyChoice>
这前台页方法:
public void setContractTypes(List<String> ContractTypes) {
//将修改的值保存到this.findControlBinding("ContractType")中去
String contractTypes = "";
for (int i = 0; i < ContractTypes.size(); i++) {
System.out.println(ContractTypes.get(i));
contractTypes += ContractTypes.get(i).toString() + ",";
}
if (contractTypes.length() > 0) {
contractTypes =
contractTypes.substring(0, contractTypes.length() - 1);
}
this.findControlBinding("ContractType").setInputValue(contractTypes);
this.ContractTypes = ContractTypes;
}
public List<String> getContractTypes() {
//从数据库获取到值,然后把让设置到文本框中
String contractTypes = (String)this.findControlBinding("ContractType").getInputValue();
if (contractTypes != null) {
String temp[] = contractTypes.split(",");
for (int i = 0; i < temp.length; i++) {
String t = temp[i];
ContractTypes.add(t);
}
}
return ContractTypes;
}