我的主要模板:
<h:body>
<div id="top" class="top">
<ui:insert name="top">Top</ui:insert>
</div>
<div>
<div id="left">
<ui:insert name="left"></ui:insert>
</div>
<div id="content" class="left_content">
<ui:insert name="content">Content</ui:insert>
</div>
</div>
</h:body>
我的客户端模板(应该覆盖上面的部分):
<body>
<ui:composition template="./mainTemplate.xhtml">
<ui:define name="top">
top 123
</ui:define>
<ui:define name="left">
left 123
</ui:define>
<ui:define name="content">
content 123
</ui:define>
</ui:composition>
</body>
模板正在使用默认值加载,因此没有覆盖,我该如何解决这个问题?
答案 0 :(得分:0)
由于您未加载客户端模板,如果您的mainTemplate.xhtml
位于应用程序的根目录中,请按照以下方式使用它:template="/mainTemplate.xhtml"
,而不是"."
此外,请确保您使用正确的命名空间声明命名空间,这适用于您的情况(根据您的问题标记,我假设您使用JSF 2.2):
xmlns:ui="http://xmlns.jcp.org/jsf/facelets