即使对于富树jsf2.0中的叶节点,也有+图标

时间:2012-08-21 11:53:05

标签: jsf-2 tree richfaces

即使对于没有子节点的节点,我在richTree中获得默认加号(+)图标。单击加号后,加号图标就会消失。我需要那个加号图标来代替叶子节点,即没有孩子的节点。

<a4j:outputPanel id="productComponentTree">
                <rich:tree id="pcTree" var="pcTreeNode" >
                    <rich:treeModelRecursiveAdaptor id="recTreeAdaptorID" 
                        roots="#{productComponentBean.productComponentList}"
                        nodes="#{pcTreeNode.financialServicesAgreementComponent}">
                        <rich:treeNode  id="treeNodeID" expanded="true"  icon="#{item.toShow?item.icon:'null'}">
                            <h:selectBooleanCheckbox id="treeNodeCheckBox"
                                disabled="#{productComponentBean.disabledCheckBox}"
                                value="#{pcTreeNode.selectedFlag}"
                                onclick="checkUncheckNodes(this);">
                            </h:selectBooleanCheckbox>
                            <h:outputText value="#{pcTreeNode.name}"></h:outputText>
                        </rich:treeNode>
                    </rich:treeModelRecursiveAdaptor>
                </rich:tree>
            </a4j:outputPanel>

上面是树的代码。任何帮助将受到高度赞赏。

1 个答案:

答案 0 :(得分:0)

解决方案非常简单。

只需将leaf标记添加到treeModelRecursiveAdaptor。

<rich:treeModelRecursiveAdaptor id="recTreeAdaptorID" 
                    roots="#{productComponentBean.productComponentList}"
                    nodes="#{pcTreeNode.financialServicesAgreementComponent}"
                    leaf="#{isLeaf(pcTreeNode)}">

使用:

public Boolean isLeaf(Node node){
    return (node!=null && (node.children==null || node.children.size()==0));
}