1

我已经构建了一个 JSF 2.1.2 页面,其中包含各种 primefaces 组件,例如 p: calendar、p: selectOneMenu ...这个页面运行良好。但是:我需要将第一页集成到 ap:tab 元素中的另一个页面中,并使用 p: TabView parent :像这样:

<p:tabView id="tabview">
 <p:tab title="User admin">
  <ui:include src="firstPage.xhtml" />
 </p:tab>
</p:TabView>

问题:primefaces 组件不再工作(例如,没有显示 p:calendar),我遇到了很多错误,比如 jQuery 不存在:

$(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(){...

.....

谢谢你的帮助。克里斯托夫。

4

1 回答 1

2

确保您的 HTML 输出在语法上是有效的。如果firstPage.xhtml代表一个完整的<html>页面,那么当您将其用作另一个<html>页面中的包含文件时,这将失败,因为嵌套<html><head><body>标签是非法的。

您需要以这种方式删除所有<html><head><body>标签firstPage.xhtml,以便它真正代表唯一的选项卡内容。例如

<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>
于 2012-04-26T12:33:41.417 回答