1

我有一棵树,有一层节点和叶子。当用户单击叶子对话框时,应打开有关该叶子的填充信息。我正在使用 Jboss 7.1.1 和 Primefaces 3.5。

表单位于主布局中。

<p:dialog id="mealDialog" widgetVar="modalJS" modal="true">
                <h:outputText value="#{MenuBBean.Id}" id="idValue" />
        </p:dialog>
        <p:tree value="#{MenuBBean.model}" var="node" selectionMode="single"
            selection="#{MenuBBean.selectedNode}">
            <p:ajax event="select" listener="#{MenuBBean.onNodeSelect}"
                update="idValue" oncomplete="modalJS.show()" />
            <p:ajax event="expand" listener="#{MenuBBean.onNodeExpand}" />
<!--                <p:ajax event="collapse" listener="#{MenuBBean.onNodeCollapse}" /> -->
            <p:treeNode type="node" expandedIcon="folder-open"
                collapsedIcon="folder-collapsed">
                <h:outputText value="#{node.name}" />
            </p:treeNode>
            <p:treeNode type="leaf" icon="document-node">
                <h:outputText value="#{node.name}" />
            </p:treeNode>
        </p:tree>

这是我收到的错误

Servlet.service() for servlet Faces Servlet threw exception: javax.faces.FacesException: Cannot find component with identifier "idValue" referenced from "main-form:j_idt26".

我已经尝试在更新中使用“:”,但它不起作用。

4

1 回答 1

1

谢谢拉姆克。你的回答很有帮助。

正确答案是

<p:ajax event="select" listener="#{MenuBBean.onNodeSelect}"
update=":main-form:idValue" oncomplete="modalJS.show()" />

表单的 id 应该在字段的 id 前面。基本的东西...

于 2013-09-29T20:18:37.663 回答