在我的 MacBook 上运行
- JSF2.0
- Primefaces 3.4.2
- 日蚀朱诺
- 玻璃鱼
当我运行此代码时;
<h:form>
<h:outputText value="SMSC:" />
<p:selectCheckboxMenu id="graphsmscnames"
value="#{reportBean.selectedSmsclist}" label="SMSC" filter="true"
filterText="Filter" filterMatchMode="startsWith"
panelStyle="width:250px">
<f:selectItems value="#{reportBean.smsclist}" />
</p:selectCheckboxMenu>
<p:message for="graphsmscnames" />
<p:commandButton id="graphgenreport" value="Generate"
update=":reportpanel" action="#{reportBean.test}" />
</h:form>
和 managedBean 中的代码(带有用于 smsclist 变量和 selectedSmscList 的 getter/setter)
Map<String, String> smsclist;
private List<String> selectedSmsclist;
public constructure(){
smsclist=new HashMap<String,String>();
smsclist.put("one","one");
smsclist.put("two","two");
}
public void test(){
System.out.println(selectedSmsclist.size());
}
即使从 UI 中选择了多个/单个项目 - 当按下 commandButton 时,它也不会反映在我的 managedBean 中。selectedSmscList 列表大小仍然为零。