I've a <p:selectOneMenu>
with String
entries and a valueChangeListener
on it.
View:
<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>
Model:
List<String> objectClassList = new ArrayList<String>();
public void menuValueChanged(ValueChangeEvent vce) {
String newValue = vce.getNewValue().toString();
objectClassList.add(newValue);
System.out.println(objectClassList);
}
I would like to remember every previously seledted item in the objectClassList
. But the problem is that it always contains only the last selected item and not the items before that. I've even tried with a Vector
instead of a List
, but still have the same result.
I think that the valueChangeListener
method creates a new bean instance each time so that the objectClassList
is reinitialized each time.
Is this true? How is this caused and how can I solve it?