MacBook で実行中
- JSF2.0
- プライムフェイス 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 リストのサイズはまだゼロです。