1

如何在 Facelets 页面中包含 JSP 页面?

mypage.xhtml

<html xmlns="http://www.w3.org/1999/xhtml"
      xmlns:h="http://java.sun.com/jsf/html">

    <h:head>
        <meta charset="utf-8"></meta>
        <link href="css/bootstrap.css" rel="stylesheet"></link>
    </h:head>

    <h:body>


    </h:body>
</html>

header.jsp

<div class="navbar navbar-inverse navbar-fixed-top">
      <div class="navbar-inner">
            <div class="container">
                <div class="nav-collapse collapse">
                    <ul class="nav">
                        <li><a href="index.xhtml">Home</a></li>
                        <li><a href="login.xhtml">Login</a></li>
                    </ul>
                </div>
            </div>
        </div>
    </div>
4

2 回答 2

3

Facelets 没有对包含 JSP 文件的内置支持。JSP 是一种已弃用的视图技术,而 Facelets 基本上是它的继承者。由于 JSP 已被弃用,您不应期望有任何支持它的计划。

只需重命名header.jspheader.xhtml消除任何 JSP 特定的工件。对于 JSF/Facelets,JSP 中没有什么是“不可能的”。

作为一种临时手段,您可以使用OmniFaces <o:resourceInclude>标记将 JSP/Servlet 页面的输出嵌入到 Facelets 中。请注意,它因此就像<c:import>工作方式一样,并且仅适用于静态内容。

也可以看看:

于 2012-12-31T12:10:42.587 回答
1

使用 OmniFaces http://omnifaces.org

你可以这样使用

<o:resourceInclude path="/someJSPpage.jsp" />

参考:

http://showcase.omnifaces.org/components/resourceInclude

于 2012-12-31T12:09:32.623 回答