我有一个使用嵌入式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依赖关系,如下所示:
pom.xml
<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容器中。