gpt4 book ai didi

templates - JSF/PrimeFaces -

的模板

转载 作者:行者123 更新时间:2023-12-03 19:54:26 27 4
gpt4 key购买 nike

我需要创建一个布局,如 this但是所有容器都位于单独的文件中,例如:

top.xhtml

<p:layout fullPage="true">
<p:layoutUnit position="north" header="#{support.applicationTitle}">
<h:form>
<p:menubar>
<p:menuitem value="Quit" icon="ui-icon-close" action="#{userController.logOut()}" />
</p:menubar>
</h:form>
</p:layoutUnit>

没有 </p:layout>因为它将在我的 上关闭footer.xhtml 喜欢:
<p:layoutUnit position="south" header="© 2012 - 2012 PORTAL DE IDEIAS">
</p:layoutUnit></p:layout>

我已尝试使用这两个文件,但出现错误,提示我需要关闭布局标记,正确的是什么,但我该如何解决我的问题?这是模板的最佳方法吗?另一个问题是 layout 标签需要一个中心 layoutUnit

最佳答案

这确实不是正确的做法。您的模板必须是格式良好的 XML。如果您只想指定中心单元,我建议创建一个主模板文件。
以展示网站上的示例为例,它应该如下所示:/WEB-INF/templates/layout.xhtml

<!DOCTYPE html>
<html lang="en"
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"
>
<h:head>
<title>Title</title>
</h:head>
<h:body>
<p:layout fullPage="true">
<p:layoutUnit position="north" size="100" header="Top" resizable="true" closable="true" collapsible="true">
<h:outputText value="Top unit content." />
</p:layoutUnit>

<p:layoutUnit position="south" size="100" header="Bottom" resizable="true" closable="true" collapsible="true">
<h:outputText value="South unit content." />
</p:layoutUnit>

<p:layoutUnit position="west" size="200" header="Left" resizable="true" closable="true" collapsible="true">
<h:form>
<ui:include src="../templates/themeMenu.xhtml" />
</h:form>
</p:layoutUnit>

<p:layoutUnit position="east" size="200" header="Right" resizable="true" closable="true" collapsible="true" effect="drop">
<h:outputText value="Right unit content." />
</p:layoutUnit>

<p:layoutUnit position="center">
<ui:insert name="content">Put default content here, if any.</ui:insert>
</p:layoutUnit>
</p:layout>
</h:body>
</html>
请注意 <ui:insert>在中央单元中。
模板客户端可以看起来像这样: /page.xhtml
<ui:composition template="/WEB-INF/templates/layout.xhtml"
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"
>
<ui:define name="content">
<p>Here goes your view-specific content.</p>
</ui:define>
</ui:composition>
您通过 http://example.com/contextname/page.xhtml 打开的.
也可以看看:
  • How to include another XHTML in XHTML using JSF 2.0 Facelets?

  • 如果您正在寻找高级 Facelets 模板的实时开源示例,您可能会发现 OmniFaces showcase app有用。

    关于templates - JSF/PrimeFaces - <p :layout> 的模板,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10689247/

    27 4 0