JSF模板覆盖don';行不通

JSF模板覆盖don';行不通,jsf,jsf-2.2,Jsf,Jsf 2.2,我的主模板: <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>

我的主模板:

<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>

顶部
内容
我的客户端模板(应覆盖上述部分):


前123名
左123
内容123

模板是使用默认值加载的,因此不是覆盖的,我如何修复此问题?

因为您没有加载客户端模板,如果您的
mainTemplate.xhtml
位于应用程序的根目录中,只需像这样使用它:
template=“/mainTemplate.xhtml”
不带

另外,请确保您为faclet声明使用了正确的名称空间,这适用于您的情况(根据您的问题标签,我假设您使用的是JSF 2.2):

<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>
xmlns:ui="http://xmlns.jcp.org/jsf/facelets