【问题标题】:PrimeFaces 4.0 Tree ActionListenerPrimeFaces 4.0 树 ActionListener
【发布时间】:2014-01-06 09:32:00
【问题描述】:

我正在使用 Primefaces 4.0 和 JSF 2.0

我有一棵树,我想对子节点而不是父节点执行特定操作,我的代码如下:

<h:form id="form">
        <p:tree id="tree" value="#{treeBean.embargoRoot}" var="node" animate="true" >
            <p:treeNode id="treeNode">
            <p:commandButton value="#{node}" action="#{xmlReader.getRead()}"  id="treeNode"/>  
        </p:treeNode>
        </p:tree>
    </h:form>'

树类

    public TreeClass(){
            root = new DefaultTreeNode("", null);
        TreeNode p1 = new DefaultTreeNode("Parent 1", root);
        TreeNode p2 = new DefaultTreeNode("Parent 2", root);
        TreeNode c1= new DefaultTreeNode("Child 1", p1);
        TreeNode c2= new DefaultTreeNode("Child 2", p1);

            TreeNode c3= new DefaultTreeNode("Child 1", p2);
        TreeNode c4= new DefaultTreeNode("child 2", p2);
}

我的目标是仅对子点击执行特定任务

提前致谢

【问题讨论】:

    标签: java jsf primefaces


    【解决方案1】:

    您可以使用“p:tree”的选择选项

    <h:form id="form">
        <p:tree id="tree" value="#{treeBean.embargoRoot}" selectionMode="single"  
         selection="#{treeBean.selectedNode}"var="node" animate="true" >
            <p:treeNode id="treeNode">
                <p:commandButton value="#{node}" action="#{xmlReader.getRead()}"  id="treeNode"/>  
            </p:treeNode>
        </p:tree>
    </h:form>
    

    根据您需要在此处执行的操作是事件的 ajax 更新:

    <p:ajax event="select" update=":form:objects"/>  
    <p:ajax event="unselect" update=":form:objects"/>  
    

    也可以使用 getter/setter 执行 bean 操作,但不推荐。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-06-27
      • 2014-04-19
      • 2014-02-08
      • 1970-01-01
      • 1970-01-01
      • 2014-06-29
      相关资源
      最近更新 更多