私は<p:selectOneMenu>
エントリString
とvalueChangeListener
それを持っています。
意見:
<p:selectOneMenu value="#{myLdapEntry.oneMenuselectedValue}" effect="fade" style="font-size:12px;"
valueChangeListener="#{myLdapEntry.menuValueChanged}">
<f:selectItem itemLabel="" itemValue=""/>
<f:selectItems value="#{treeBean.objclasslist}" var="objclass"
itemLabel="#{objclass}" itemValue="#{objclass}" />
<p:column>
#{o} #{objclass}
</p:column>
<f:ajax event="change" render=":form:objclassAttrsValstab" />
</p:selectOneMenu>
モデル:
List<String> objectClassList = new ArrayList<String>();
public void menuValueChanged(ValueChangeEvent vce) {
String newValue = vce.getNewValue().toString();
objectClassList.add(newValue);
System.out.println(objectClassList);
}
で以前に選択したすべてのアイテムを記憶したいと思いますobjectClassList
。しかし問題は、常に最後に選択された項目のみが含まれ、それより前の項目は含まれないことです。Vector
の代わりに a を試してみましたList
が、それでも同じ結果が得られます。
valueChangeListener
メソッドは毎回新しい Bean インスタンスを作成するため、objectClassList
毎回再初期化されると思います。
これは本当ですか?これはどのように発生し、どうすれば解決できますか?