我有一个使用嵌入式Tomcat(默认设置)启动并运行的Spring Boot
Web应用程序。当它提供JSP文件作为渲染我在控制器中指定的视图的一部分时,JSP不会这样渲染,而是打印出内容。例如:
index.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" %>
<!DOCTYPE html>
<html lang="en">
<head></head>
<body>Test</body>
</html>
在浏览器中呈现视图时,将显示上面的内容,而不是预期的内容:
Test
确保您pom.xml
指定了Tomcat JSP依赖关系,如下所示:
<dependency>
<groupId>org.apache.tomcat.embed</groupId>
<artifactId>tomcat-embed-jasper</artifactId>
<scope>provided</scope>
</dependency>
似乎嵌入式Tomcat将JSP呈现视为可选的。
如下所述,有时还需要此JAR:
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>jstl</artifactId>
<scope>provided</scope>
</dependency>
(我补充说,因为该JAR应该包含在servlet容器中。