我正在使用具有centerLayout,westLayout,northLayout
的Layout结构当我运行该文件时,我接受以下错误: “/ UI布局初始化错误。 中心窗格元素不存在。 中心窗格是必需元素。“
我的模板是:
<p:layoutUnit position="north" size="100" collapsible="true">
<header>
<div class="logo1">
<img src="#{facesContext.externalContext.requestContextPath}/resources/images/logo1.png" alt="Gestion d'accès et de habilitations" />
</div>
<ul>
<li><h:link outcome="/profile" value="Profile"/></li>
<li><a href="#">Se déconnecté</a></li>
</ul>
<div class="logo2">
<img src="#{facesContext.externalContext.requestContextPath}/resources/images/logo2.png" alt="Altijari Bank" />
</div>
</header>
</p:layoutUnit>
<p:layoutUnit position="west" size="210" header="Menus" collapsible="true">
<h:form id="frmMenu1">
<p:accordionPanel multiple="true" id="acc" activeIndex="0">
<p:tab title="Gestion des agences">
<p:menu style="width:100%" id="m1">
<p:menuitem value="Consulter" action="#{agenceController.prepareList()}"/>
<p:menuitem value="Ajouter" action="#{agenceController.prepareCreate()}" />
</p:menu>
</p:tab>
<p:tab title="Gestion des utilisateurs">
<p:menu style="width:100%" id="m2">
<p:menuitem value="Consulter" action="#{utilisateurController.prepareList()}"/>
<p:menuitem value="Ajouter" action="#{utilisateurController.prepareCreate()}" />
</p:menu>
</p:tab>
<p:tab title="Gestion des fonctions">
<p:menu style="width:100%" id="m3">
<p:menuitem value="Consulter" action="#{fonctionController.prepareList()}"/>
<p:menuitem value="Ajouter" action="#{fonctionController.prepareCreate()}" />
</p:menu>
</p:tab>
<p:tab title="Gestion des applications">
<p:menu style="width: 100%" id="m4">
<p:menuitem value="Consulter" action="#{applicationController.prepareList()}" />
<p:menuitem value="Ajouter" action="#{applicationController.prepareCreate()}"/>
</p:menu>
</p:tab>
<p:tab title="Gestion des fiches " >
<p:menu style="width: 100%" id="m5">
<p:menuitem value="Consulter" action="#{ficheController.prepareList()}"/>
<p:menuitem value="Ajouter" action="#{ficheController.prepareCreate()}" />
</p:menu>
</p:tab>
<p:tab title="Administration" >
<p:menu style="width: 100%" id="m6">
<p:menuitem value="Consulter" action="#{groupeController.prepareList()}" />
<p:menuitem value="Ajouter" action="#{groupeController.prepareCreate()}" />
</p:menu>
</p:tab>
<p:tab title="Traçabilité" >
<p:menu style="width: 100%" id="m7">
<p:menuitem value="Consulter" action="#{traceController.prepareList()}" />
<p:menuitem value="Ajouter" action="#{traceController.prepareCreate()}" />
</p:menu>
</p:tab>
</p:accordionPanel>
</h:form>
</p:layoutUnit>
我使用primefaces 3.2,jsf 2.1,glassfish 3.1.2.1 请帮帮我。
答案 0 :(得分:5)
由于错误消息表明您缺少布局的中心部分。
这是必需元素。
定义一个与此相似的内容:
<p:layoutUnit position="center">
YOUR CONTENT
</p:layoutUnit>
答案 1 :(得分:4)
当中心窗格部分内部的页面部分出现错误时,会发生这种情况。这可能是一个无效的xhtml标记,在被调用的bean中有什么不对。查看您的服务器,记录是否有任何内容。
答案 2 :(得分:1)
这似乎是Primefaces 6.2中的错误,已在此处得到解答:UI Layout Initialization Error PrimeFaces 6.2
答案 3 :(得分:0)
在primefaces 5.1上我遇到了由controler bean设置选项件的情况
<pe:layout id="fullPage" options="#{layoutController.layoutOptions}" stateCookie="true">
在那个控制器中,我正在设置未定义的子布局
// options for nested center layout
LayoutOptions childCenterOptions = new LayoutOptions();
center.setChildOptions(childCenterOptions);
// options for center-north pane
LayoutOptions centerNorth = new LayoutOptions();
centerNorth.addOption("size", "50%");
childCenterOptions.setNorthOptions(centerNorth);
因此,如果要扩展primefaces showcase,请确保在无法存在的窗格上禁用配置。
由于此错误未显示在其他缺失的窗格(东,西,......)上,这可能是一个很难解决的问题。