Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jsf-2/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Templates 其他模板中的Facelets模板_Templates_Jsf 2_Facelets - Fatal编程技术网

Templates 其他模板中的Facelets模板

Templates 其他模板中的Facelets模板,templates,jsf-2,facelets,Templates,Jsf 2,Facelets,我想在另一个模板中使用Facelets模板。目前我有一个基本模板,到目前为止已经足够我完成的所有页面。它有一个顶部和一个内容区 顶部有徽标、菜单、登录/注销功能,而内容区域显示内容 现在,我需要做另一个页面来保存用户配置文件信息,我希望左侧有一个菜单,右侧显示结果。该页面应插入基本模板内容区域 是否可以创建一个新模板来定义这两个区域profile_left和profile_content,并且以某种方式仍然使用基本模板 我看不出为什么我不能复制基本模板中的代码并添加新的定义,即我希望保留prof

我想在另一个模板中使用Facelets模板。目前我有一个基本模板,到目前为止已经足够我完成的所有页面。它有一个顶部和一个内容区

顶部有徽标、菜单、登录/注销功能,而内容区域显示内容

现在,我需要做另一个页面来保存用户配置文件信息,我希望左侧有一个菜单,右侧显示结果。该页面应插入基本模板内容区域

是否可以创建一个新模板来定义这两个区域profile_left和profile_content,并且以某种方式仍然使用基本模板


我看不出为什么我不能复制基本模板中的代码并添加新的定义,即我希望保留profile_和profile_内容,但我仍然想知道是否可以继续使用原始的基本模板。

您可以从模板扩展到您想要的深度。你不能像你想象的那样只从一个模板或者其他东西进行扩展

例如:

/WEB-INF/templates/base.xhtml

/user.xhtml

另见:
就这么做?在新模板中,只需执行以下操作?这样做的具体问题是什么?谢谢你,巴卢斯。我测试了修改代码以模仿您的示例,发现它是有效的,尽管最后出现了一个小问题。目前,在base.xhtml中,我在顶部内容中有一个ui:insert。原因是我在某个地方读到这样做是最好的做法。因此,我不会得到菜单,只会得到我在ui:insert中输入的默认文本内容top。您认为我应该直接在基本模板中包含菜单吗?不客气。问题描述中有太多含糊不清的地方。请随意提出一个新问题和一些具体的代码。
<!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"
>
    <h:head>
        <title><ui:insert name="title">Default title</ui:insert></title>
    </h:head>
    <h:body>
        <div id="header">Header</div>
        <div id="menu">Menu</div>
        <div id="content"><ui:insert name="content">Default content</ui:insert></div>
        <div id="footer">Footer</div>
    </h:body>
</html>
<ui:composition template="/WEB-INF/templates/base.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"
>
    <ui:define name="content">
        <div id="profile_left"><ui:insert name="profile_left" /></div>
        <div id="profile_right"><ui:insert name="profile_right" /></div>
    </ui:define>
</ui:composition>
<ui:composition template="/WEB-INF/templates/profile.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"
>
    <ui:define name="title">User profile</ui:define>
    <ui:define name="profile_left">
        Profile left.
    </ui:define>
    <ui:define name="profile_right">
        Profile right.
    </ui:define>
</ui:composition>