繁体   English   中英

Spring Boot MVC将JSP文件包含在另一个JSP文件中

[英]Spring Boot MVC Include JSP file inside another JSP File

我有带有Spring Boot的Spring MVC,也为View使用了JSP文件。 我已经使用过JSP和JSTL库

    <dependency>
        <groupId>javax.servlet</groupId>
        <artifactId>jstl</artifactId>
    </dependency>

    <dependency>
        <groupId>org.apache.tomcat.embed</groupId>
        <artifactId>tomcat-embed-jasper</artifactId>
        <scope>provided</scope>
    </dependency>

例如,我对JSP和JSTL语法没有任何疑问

<c:set var="heading" scope="page" value="${0}" />

 <c:forEach var="menuGroup" items="${menuGroups}">
   <c:if test="${menuGroup.headingId != heading}">
       <c:if test="${menuGroup.headingIsDisplayed == 1}">
            <li class="menu-title text-white">${menuGroup.headingTitle}</li>
    </c:if> 
    <c:set var="heading" scope="page" value="${menuGroup.headingId}" />

 </c:if>

    <li class="has_sub">
     <a href="index.html" class="waves-effect">
        <i class="ti-home"></i>
        <span> ${menuGroup.menuGroupTitle}</span>
        <span class="pull-right"><i class="mdi mdi-chevron-right"></i> 
   </span>
    </a>

    <ul class="list-unstyled">

        <c:forEach var="menu" items="${menuGroup.menus}">

            <li><a href="${menu.menuPath}">${menu.menuTitle}</a></li>
        </c:forEach>

    </ul>
  </li>


 </c:forEach>

但是当我使用JSP Include标签时

      <jsp:include page="sidemenu.jsp" flush="true"></jsp:include>

它不起作用!,页面菜单中未包含sidemenu JSP文件中的内容,也完全没有错误消息。

我错过了任何页面设置或配置吗? 还是标签不能在Spring Boot MVC项目中使用?

首先,您需要找到sidemenu.jsp的实际路径。
然后,当包含它时,您必须使用此路径。 像这样,

<jsp:include page="../views/jsp/sidemenu.jsp" flush="true"/>

上面应该可以正常工作。 唯一的问题可能是sidemenu.jsp文件的位置。

因此,尝试通过帮助找到要包含的jsp页面来使用如下所示的内容。

<jsp:include page="/WEB-INF/JSPs/header/navigation.jsp"></jsp:include>

要么

<jsp:include page="../sidemenu.jsp"></jsp:include> //如果上一级目录

另请参阅另一个文件夹中的include-jsps文件

为什么不使用: <%@ include file=/included-file.jsp" %>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM