Hi, guys
I'm working with the following environment: Spring Web Flow 2.3.1, JSF 2.1, RichFaces 4.2.2
The next case worked in RF 3.x but apparently doesn't work in RF 4.x.
I have a Spring Web Flow variable let's called treeBean.
<var name="treeBean" class="org.test.TreeBean" /> |
and a tree based upon it(simplified variant).
<rich:tree toggleType="client" | |||||
value="#{treeBean.root}" var="item"> | |||||
<rich:treeNode> | |||||
<h:outputText value="#{item.text}" /> | |||||
</rich:treeNode> | |||||
</rich:tree> |
The root node is populated with items before view is rendered. However tree is empty upong rendering.
If I remove SWF variable and put @ManagedBean annotation on TreeBean class everything works fine.
public class TreeBean implements Serializable {
private DataTreeNode root;
public TreeBean() {
root = new DataTreeNodeImpl("aa");
root.addChild("test", new DataTreeNodeImpl("test2"));
}
public DataTreeNode getRoot() {
return root;
}
public void setRoot(DataTreeNode root) {
this.root = root;
}
}
The investigation showed that issue probably occured because regular serialization-deserialization clears the children of the root.
That didn't happen in ManagedBean case(where serialization is not needed).
Please advise on the issue.
I checked this scenario on your integration sample where it also had this issue.