我在我的 template.xhtml 文件中使用 PrimeFaces 布局,在我的 index.xhtml 中,当我在树中导航时,我尝试将页面动态包含到中心布局中。它运行良好,但在树中第四次单击后,应用程序不再响应。它会更新中心页面三次,并在第四次单击后冻结。
这是我的 template.xhtml 的一部分:
<p:layout fullPage="true">
<p:layoutUnit position="north" size="50">
<ui:insert name="header"></ui:insert>
</p:layoutUnit>
<p:layoutUnit position="south" size="65" resizable="true" collapsible="true">
<ui:insert name="footer"></ui:insert>
</p:layoutUnit>
<p:layoutUnit position="west" size="250" header="TreeMenu" resizable="true" collapsible="true">
<ui:insert name="treemenu"></ui:insert>
</p:layoutUnit>
<p:layoutUnit position="center">
<ui:insert name="content"></ui:insert>
</p:layoutUnit>
</p:layout>
这是我的 index.xhtml 的一部分:
<ui:define name="treemenu">
<p:tree id="tree1" dynamic="true" value="#{treebuilder.tree}" var="node" selectionMode="single" selection="#{treebuilder.selectedNode}">
<p:ajax event="select" listener="#{treebuilder.onNodeSelection}" update=":contentpanel"></p:ajax>
<p:treeNode>
<h:outputText value="#{node.trzKod}"></h:outputText>
</p:treeNode>
</p:tree>
</ui:define>
<ui:define name="content">
<h:panelGroup id="contentpanel" layout="block">
<ui:include src="#{treebuilder.centerPage}"></ui:include>
</h:panelGroup>
</ui:define>
我认为问题出在ajax更新的某个地方,但我不知道我做错了什么。