我有一个<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
. 但问题是它总是只包含最后一个选定的项目,而不是之前的项目。我什至尝试过使用 aVector
而不是 a List
,但仍然得到相同的结果。
我认为该valueChangeListener
方法每次都会创建一个新的 bean 实例,以便objectClassList
每次都重新初始化。
这是真的?这是如何引起的,我该如何解决?