JSF 2.0,PrimeFaces,树动态ID隐藏/显示多个面板

时间:2014-01-10 05:32:48

标签: java jquery jsf-2 primefaces

我正在使用primefaces 4.0和jsf 2.0

我有一个树形结构,我想在选择中显示/隐藏多个面板

<p:tree id="tree" value="#{bean.root}" var="node"  dynamic="true" cache="false" animate="true" selectionMode="single"  
        selection="#{bean.selectedNode}">
        <p:ajax event="select" update=":MainPageForm:dataPanel" listener="#{bean.onNodeSelect}" /> 
            <p:treeNode id="treeNode">
            <p:commandLink id="DYNAMIC ID" style="font-size:15px; width:170px; height:30px;" value="#{node}" />  
        </p:treeNode>

现在我尝试使用“#{node}”在每个节点上设置动态ID,但会抛出异常 我在我的应用程序中使用JQuery,所以我现在正试图使用​​JQuery隐藏/显示。

1 个答案:

答案 0 :(得分:0)

目前还不是很清楚你想要完成什么,但不要使用动态ID。

也许这个?

<p:tree id="tree" value="#{bean.root}" var="node"  dynamic="true" cache="false" animate="true" selectionMode="single"  
    selection="#{bean.selectedNode}">
    <p:ajax event="select" process="@form" update="@form"/>
    <p:treeNode>#{node}</p:treeNode>
</p:tree>

<h:panelGroup id="details">
    <p:panel header="details1" rendered="#{bean.selectedNode.data.type == 'hw'}">
        <span>i am an hardware: #{bean.selectedNode.data}</span>
    </p:panel>

    <p:panel header="details2" rendered="#{bean.selectedNode.data.type == 'sw'}">
        <span>i am a software: #{bean.selectedNode.data}</span>
    </p:panel>
</h:panelGroup>