Primefaces树与叶子打开对话框不工作

时间:2013-09-29 19:59:01

标签: ajax jsf primefaces dialog tree

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

表单位于主布局中。

<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".

我在更新中试过“:”但它没有用。

1 个答案:

答案 0 :(得分:1)

谢谢Lamq。你的回答非常有用。

正确的答案是

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

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