我有一个简单的p:tree
示例。
<p:tree id="tree" styleClass="treeskin" value="#{TreeViewController.root}" var="node" dynamic="true" animate="true"
selectionMode="single" selection="#{TreeViewController.selectedNode}" highlight="true">
<p:ajax event="select" listener="#{TreeViewController.onNodeSelect}" update=":treeform:outputComponent"/>
<p:ajax event="expand" listener="#{TreeViewController.onNodeExpand}" />
<p:ajax event="collapse" listener="#{TreeViewController.onNodeCollapse}" />
<p:treeNode styleClass="treeskin">
<h:outputText value="#{node}"/>
</p:treeNode>
</p:tree>
我感兴趣的是,当我点击一个节点打开一个新页面时,它可能会出现。我发现使用onNodeClick
我可以使用JavaScript打开一个新页面。但是,如果有可能我想发送隐藏的值,我稍后会将其用作密钥。
有哪些可能的解决方案?
答案 0 :(得分:3)
您可以尝试在<h:link/>
中嵌入<p:treeNode/>
。使用以下构造
<h:link value="#{node}" outcome="destination?includeViewParams=true">
<f:param name="theParam" value="#{node.property}"/>
</h:link>
includeViewParams=true
位将确保您尝试传递的参数使其跨越请求到达下一页