一尘不染

Spring Boot Web应用程序中未呈现JSP文件

spring-boot

我有一个使用嵌入式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

阅读 469

收藏
2020-05-30

共1个答案

一尘不染

确保您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容器中。

2020-05-30