我有带有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项目中使用??
答案 0 :(得分:1)
首先,您需要找到sidemenu.jsp
的实际路径。
然后,当包含它时,您必须使用此路径。像这样
<jsp:include page="../views/jsp/sidemenu.jsp" flush="true"/>
答案 1 :(得分:1)
以上应该可以正常工作。唯一的问题可能是sidemenu.jsp文件的位置。
因此,通过帮助查找要包含的jsp页面,尝试使用以下类似内容。
<jsp:include page="/WEB-INF/JSPs/header/navigation.jsp"></jsp:include>
OR
<jsp:include page="../sidemenu.jsp"></jsp:include>
//如果是上一级目录
答案 2 :(得分:0)
您为什么不使用:<%@ include file=/included-file.jsp" %>