当前位置: 首页 > 知识库问答 >
问题:

在JSP页面中包含JSP文件

昌山
2023-03-14

我正在使用J2EE(使用spring和JSP)建立一个网站。我有像client.jsp和user.jsp的多页。每一页都有一个页眉、一个内容和一个页脚。

因此,我想做的是在每个jsp文件(客户机或用户)中包含页眉和页脚,但每个文件都有一个特定的页眉和脚注。比方说,header_client。jsp和header_footer.jsp。

为了包括这个,我正在做的:

<%@ include file="/header_client.jsp" %>

但是,如果此标头不存在,我想加载一个通用标头.jsp。

这些页眉/页脚使用模型中的变量,例如${image},或者如此!!

在包含和导入一个或另一个之前,如何测试是否存在特定的页眉/页脚?

谢谢大家!

共有2个答案

商绍元
2023-03-14

为什么不只是JSTL标签

示例:

<c:set var="myVar" value="someValue" />
..
<c:if test="${condition}">
  <jsp:include page="newPage.jsp" />
</c:if>

养星汉
2023-03-14

我将建议使用/创建模板,并将大部分配置保留在磁贴中.xml

示例代码

<definition name="mytemplate" template="/WEB-INF/jsp/common/my_template.jsp">
        <put-attribute name="title" value="" />
        <put-attribute name="header" value="/WEB-INF/jsp/common/header.jsp" />
        <put-attribute name="body" value="" />
        <put-attribute name="footer" value="/WEB-INF/jsp/common/footer.jsp" />          
</definition>

使用上面创建的模板进行定义

<definition name="myPage" extends="mytemplate">
        <put-attribute name="title" value="My Page" />
        <put-attribute name="body" value="/WEB-INF/jsp/common/my.jsp" />
    </definition>
 类似资料:
  • 如何将本地存储文件夹中的JSP文件包含在WEB-INF下? 我在config.properties定义了绝对路径${externalFolder}到包含外部jsp文件的文件夹,控制器映射到 /page和jsp页面page.jsp在WEB-INF/jsp/目录中。 在此文件页面中。我想调用的jsp: WEB-INF/jsp/page。jsp 谢谢你的帮助。

  • 根据JSP规范: JSP容器可以包含一种机制,用于在包含的文件发生更改时收到通知,因此容器可以重新编译JSP页面。但是,JSP 1.2规范没有一种方法可以指示包含文件已更改的JSP容器。 我在一个在线教程中发现了这一点: 如果包含的文件发生了更改,但包含它的JSP没有发生更改,那么这些更改只会在我们使用包含动作标记时反映出来。如果您使用include指令,这些更改将不会反映出来,因为JSP没有更改

  • 问题内容: 是否可以在JSP页面上使用,然后在HTML Submit上使用在中获得相同的请求属性? 问题答案: 不能。不幸的是,Request对象仅在页面加载完成之前才可用-一旦完成,您将丢失其中的所有值,除非它们存储在某个位置。 如果要通过请求保留属性,则需要: 在表单中有一个隐藏的输入,例如。然后,它将在servlet中作为请求参数提供。 将其放在会话中(请参阅-在JSP 中,它很容易使用)

  • 我使用Spring框架,在.java中有很多行: 在dispatcher-servlet.xml中: 我认为,对于从java代码转到proj-root/src/main/jsp/reports/distribution.jsp文件,这些信息已经足够了。 NetBeans是否有任何标准命令或扩展来实现这些命令?

  • 我试图通过Ajax调用将jsp页面包含在另一个页面中。问题是,如果要包含的页面在html元素之间有一些空格,它将使插入失败。 例如,下面是我的演示index.jsp: 下面是要包含的 hello.jsp 页面(元素标记之间没有空格,否则包含将失败): 而这个 servlet 只有一个什么都不做(目前)doGet 方法。 对你们所有人来说都是一样的吗?我的代码有问题吗?是否有其他工作方式来完成相同的

  • 它们之间有什么区别吗?