在Facelets页面中包含JSP页面



如何在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>

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

只需将header.jsp重命名为header.xhtml并消除任何特定于JSP的工件。在JSP中没有什么是"不可能的"JSF/Facelets .

作为临时手段,您可以使用OmniFaces <o:resourceInclude>标记在Facelets中嵌入JSP/Servlet页面的输出。请注意,这就像<c:import>的工作原理一样,它只适用于静态内容。

参见:

    如何使用JSF 2.0 Facelets在XHTML中包含另一个XHTML ?

使用OmniFaces http://omnifaces.org

你可以这样使用

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

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

相关内容

  • 没有找到相关文章

最新更新