我构建了一个JSF 2.1.2页面,其中包含各种主要组件,如p:calendar,p:selectOneMenu ... 这个页面工作正常。 但是: 我需要将第一页在p:tab元素中的另一页中与p:TabView父级集成: 像这样:
<p:tabView id="tabview">
<p:tab title="User admin">
<ui:include src="firstPage.xhtml" />
</p:tab>
</p:TabView>
问题:primefaces组件不再起作用(没有显示p:calendar for example),我得到很多错误,如jQuery缺少firebug:
$(this.jqId + " ul").sortable is not a function
[Stopper sur une erreur]
...d+" .ui-picklist-target-controls .ui-picklist-button-move-up").click(function(){...
primef...mefaces (ligne 27)
$(this.jqId + " ul").sortable is not a function
[Stopper sur une erreur]
...d+" .ui-picklist-target-controls .ui-picklist-button-move-up").click(function(){...
.....
感谢您的帮助。 克里斯托弗。
答案 0 :(得分:2)
确保HTML输出在语法上有效。如果firstPage.xhtml
表示完整的<html>
页面,那么当您将其用作另一个<html>
页面中的包含文件时,这将失败,因为嵌套<html><head><body>
标记是非法的。
您需要从<html><head><body>
中删除所有firstPage.xhtml
代码,以便它真正代表唯一的标签内容。 E.g。
<ui:composition
xmlns="http://www.w3.org/1999/xhtml"
xmlns:f="http://java.sun.com/jsf/core"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:ui="http://java.sun.com/jsf/facelets"
xmlns:p="http://primefaces.org/ui"
>
<p>This is the tab content.</p>
</ui:composition>