是否可以在不使用 jsp:include 的情况下将 jspf 文件添加到 jsp 页面?

Posted

技术标签:

【中文标题】是否可以在不使用 jsp:include 的情况下将 jspf 文件添加到 jsp 页面?【英文标题】:Is it possible to add jspf files to a jsp page without using jsp:include? 【发布时间】:2011-11-28 23:42:36 【问题描述】:

我想要实现的是类似于 asp.net 中的母版页。我正在关注tutorial,但我可能遗漏了一些东西,因为我已将 header.jspf 和 footer.jspf 添加到 WEB-INF/jspf 文件夹中,并且 index.jsp 在 WEB-INF 之外。我在 web.xml 中添加了信息,以便某些 jsp 页面应该自动添加页眉和页脚。问题可能是 index.jsp 无法访问 WEB-INF 文件夹中的任何内容,但我认为我已经在本教程的上一步中解决了这个问题。当我运行这个项目时,我得到的只是在我删除所有页眉和页脚之后剩下的 index.jsp。

我不想使用:<%@include file="header.jspf" %><..jsp:include...>

截图:

web.xml:

<?xml version="1.0" encoding="UTF-8"?>
<web-app version="3.0" 
    xmlns="http://java.sun.com/xml/ns/javaee" 
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xsi:schemaLocation="http://java.sun.com/xml/ns/javaee   
    http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd">
    <session-config>
        <session-timeout>
            30
        </session-timeout>
    </session-config>
    <jsp-config>
        <jsp-property-group>
            <description>header and footer settings</description>
            <url-pattern>/index.jsp</url-pattern>
            <url-pattern>/WEB-INF/view/*</url-pattern>
            <include-prelude>/WEB-INF/jspf/header.jspf</include-prelude>
            <include-coda>/WEB-INF/jspf/footer.jspf</include-coda>
        </jsp-property-group>
    </jsp-config>
</web-app>

header.jspf:

<%@page contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <title>Webshop</title>
</head>
<body>
     <h1>Webshop</h1>

footer.jspf:

</body>
</html>

【问题讨论】:

为什么你不想使用 和 ?? 好吧,这没什么大不了的,我只是想要一种不必向每个 jsp 添加相同内容的方法,但是向每个 jsp 添加两行并不是问题。我只是想知道是否有办法通过 web.xml 文件添加页眉和页脚。 所以.. 你可以使用 SiteMesh。您可以创建一个模板页面,用于项目中的每个页面,然后只有特定的站点内容在实际的 jsp-sites 中。 解释于:uxt.ucsd.edu/uxtuistack/resources/sitemesh/index.html 和 tim.oreilly.com/pub/a/onjava/2004/09/22/sitemesh.html 谢谢,我去看看。 【参考方案1】:

我也在做那个教程,当我使用Tomcat作为服务器时,它不会包含页眉和页脚,我必须使用glassfish服务器,有什么方法可以让tomcat包含页眉和页脚页脚?

编辑:

用这个替换默认标签似乎已经解决了使用tomcat作为服务器的问题

    <web-app xmlns="http://java.sun.com/xml/ns/j2ee"
    xmlns:xsi="http://www.w3.org/TR/xmlschema-1/"
    xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd" version="2.4">

【讨论】:

欢迎来到 ***。请使用右上角的 按钮提出新问题。

以上是关于是否可以在不使用 jsp:include 的情况下将 jspf 文件添加到 jsp 页面?的主要内容,如果未能解决你的问题,请参考以下文章

是否可能 HTML 下载属性可以在不使用 javascript 的情况下下载多个文件?

是否可以在不使用malloc的情况下进行内存泄漏?

是否可以在不渲染 HTML 的情况下使用 React?

是否可以在不删除数据库的情况下加载学说夹具

是否可以在不停止 iPod 音乐的情况下播放声音?

是否可以在不调用新活动的情况下获取对象值?