为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

MM们 2019-10-18 15:00:47
我有一个使用嵌入式Tomcat(默认设置)启动并运行的Spring Boot Web应用程序。当它提供JSP文件作为渲染我在控制器中指定的视图的一部分时,JSP不会这样渲染,而是打印出内容。例如:index.jsp<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" %><!DOCTYPE html><html>    <head></head>    <body>Test</body></html>在浏览器中呈现视图时,将显示上面的内容,而不是预期的内容:Test
查看完整描述

3 回答

?
猛跑小猪

TA贡献1858条经验 获得超8个赞

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


查看完整回答
反对 回复 2019-10-18
?
炎炎设计

TA贡献1808条经验 获得超4个赞

您不需要一个依赖关系,而只需两个依赖关系(jasper和jstl)pom.xml即可。


   <dependencies>

    <dependency>

        <groupId>org.springframework.boot</groupId>

        <artifactId>spring-boot-starter-web</artifactId>

    </dependency>


    <dependency>

        <groupId>org.apache.tomcat.embed</groupId>

        <artifactId>tomcat-embed-jasper</artifactId>

        <scope>provided</scope>

    </dependency>


    <dependency>

        <groupId>javax.servlet</groupId>

        <artifactId>jstl</artifactId>

    </dependency>

</dependencies>


查看完整回答
反对 回复 2019-10-18
?
缥缈止盈

TA贡献2041条经验 获得超4个赞

对我来说,工作就像Dan提到的一样。删除提供的范围。


<dependency>

  <groupId>org.apache.tomcat.embed</groupId>

  <artifactId>tomcat-embed-jasper</artifactId>

</dependency>


<dependency>

  <groupId>javax.servlet</groupId>

  <artifactId>jstl</artifactId>

</dependency>

多谢你们!


查看完整回答
反对 回复 2019-10-18
  • 3 回答
  • 0 关注
  • 678 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信