Я использую 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}
", но бросает исключение. Я использую JQuery в своем приложении, поэтому прямо сейчас я пытаюсь скрыть/показать с помощью JQuery.
не совсем понятно, чего вы хотите достичь, но не используйте динамические идентификаторы.
Может быть, это?
<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>
selectedNode.data
#{bean.selectedNode.data}
используемый внеp:tree
аналогичен#{node}
используемому внутриp:tree