您好 我为richfaces树标记编写了一个简单的例子,但它只扩展了根节点(但不会将它们折叠回来) xhtml代码:
<rich:panel id="unitTest" width="240" height="400">
<h:form>
<rich:tree>
<rich:recursiveTreeNodesAdaptor roots="#{tree.nodes}" var="item" nodes="#{item.nodes}" >
<rich:treeNode>
<h:outputText value="#{item}"/>
</rich:treeNode>
</rich:recursiveTreeNodesAdaptor>
</rich:tree>
</h:form>
</rich:panel>
java bean代码:
import java.util.*;
public class UnitTreeNode
{
String name;
List<UnitTreeNode> children;
public UnitTreeNode()
{
this.name="";
}
public UnitTreeNode(String name)
{
this.name=name;
}
public List<UnitTreeNode> getNodes()
{
if(children==null)
{
children=new ArrayList<UnitTreeNode>();
for(int i=0;i<3;i++)
children.add(new UnitTreeNode(name+i));
}
return children;
}
public String toString()
{
return name;
}
}
配置:
<managed-bean>
<managed-bean-name>tree</managed-bean-name>
<managed-bean-class>UnitTreeNode</managed-bean-class>
<managed-bean-scope>session</managed-bean-scope>
</managed-bean>
我正在使用myfaces 1.2.8和richfaces 3.3.2.SR1,我不明白为什么它不起作用。
答案 0 :(得分:0)
问题是默认情况下,树的switchType是ajax,由于周围的标记,你的ajax请求没有正确地提交给服务器。(似乎是富脸实现的错误,可能会在以后的版本中解决)。 / p>
所以这是解决方案
<rich:tree switchType="server">
<h:form>
代码希望这有帮助
答案 1 :(得分:0)
我在面部3.3.3上遇到了同样的问题,在我的web.xml中将facelets.BUILD_BEFORE_RESTORE设置为false。
<context-param>
<param-name>facelets.BUILD_BEFORE_RESTORE</param-name>
<param-value>false</param-value>
</context-param>