0

我有一个简单的例子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 可以打开一个新页面。但如果可能的话,我想发送隐藏值,稍后我将用作键。有哪些可能的解决方案?

4

1 回答 1

3

您可以尝试<h:link/><p:treeNode/>. 使用以下构造

<h:link value="#{node}" outcome="destination?includeViewParams=true">
   <f:param name="theParam" value="#{node.property}"/>
</h:link> 

includeViewParams=true位将确保您尝试传递的参数使其通过请求到达下一页

于 2013-02-11T04:26:44.930 回答