如何在JSF中包含页面?

时间:2011-06-18 12:21:09

标签: java jsp jsf

我是jsf的新手,我想知道如何重复使用其他.jsf页面,而无需“复制粘贴”它们。

在.jsp我做:

// head.jsp 
<head> ... </head>

// top.jsp
<body> ... </body>

Then i include them in my new .jsp
// index.jsp
<%@include file="head.jsp" %>
<%@include file="top.jsp" %>
...

我如何用jsf做到这一点? 我正在尝试这种方式:

<html xmlns="http://www.w3.org/1999/xhtml"
      xmlns:h="http://java.sun.com/jsf/html"
      xmlns:ui="http://java.sun.com/jsf/facelets">
    <h:head>
        <ui:include src="components/head.xhtml" />
    </h:head>
    <h:body>
        <ui:include src="components/top.xhtml" />
    </h:body>
</html>

但是不起作用..

有什么想法吗?

祝你好运, Valter Henrique。

2 个答案:

答案 0 :(得分:1)

Facelets是JSF2的默认视图技术,所以我会使用它的&lt; ui:include&gt;在这里标记。确保您的路径正确 - 它们应该从webapp root开始,一个包含WEB-INF - 并且还要确保包含的facelets包含&lt; ui:composition&gt;围绕包含的内容标记。此标记之外的任何内容都将被忽略。

答案 1 :(得分:-1)

尝试在核心库中查找“import”标记。

我认为ui:include可能是facelets而不是普通的jsf。