我有一棵树,有一层节点和叶子。 当用户单击叶子对话框时,应该打开有关该叶子的填充信息。 我正在使用带有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".
我在更新中试过“:”但它没有用。
答案 0 :(得分:1)
谢谢Lamq。你的回答非常有用。
正确的答案是
<p:ajax event="select" listener="#{MenuBBean.onNodeSelect}"
update=":main-form:idValue" oncomplete="modalJS.show()" />
表单的id应该在字段的id前面。 基本的东西......