JSP文件无法在Spring Boot Web应用程序中呈现

 手机用户2702936044 发布于 2023-02-10 11:55

我使用嵌入式Tomcat(默认)启动并运行Spring Boot Web应用程序.当它提供JSP文件作为渲染我在控制器中指定的视图的一部分时,JSP不会这样呈现,而是打印出内容.例如:

的index.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" %>


    
    Test

在浏览器中呈现视图时,将显示上面的内容,而不是预期的内容:

Test

Nick Spacek.. 98

确保您pom.xml指定Tomcat JSP依赖项,如下所示:


    org.apache.tomcat.embed
    tomcat-embed-jasper
    provided

嵌入式Tomcat似乎将JSP呈现视为可选.

如下所述,这个JAR有时也是必要的:


    javax.servlet
    jstl
    provided

(我添加了提供,因为这个JAR应该包含在servlet容器中.

6 个回答
  • 确保您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容器中.

    2023-02-10 11:57 回答
  • 对我来说,就像Dan提到的一样.删除提供的范围.

    <dependency>
      <groupId>org.apache.tomcat.embed</groupId>
      <artifactId>tomcat-embed-jasper</artifactId>
    </dependency>
    
    <dependency>
      <groupId>javax.servlet</groupId>
      <artifactId>jstl</artifactId>
    </dependency>
    

    多谢你们!

    2023-02-10 11:57 回答
  • 你需要一个而不是两个依赖项(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>
    

    2023-02-10 11:57 回答
  • 更好的是你可以使用gradle(它正赶上Maven).在build.gradle文件中使用此依赖项.

    // JSP的必需依赖项

    providedRuntime 'org.apache.tomcat.embed:tomcat-embed-jasper'
    

    2023-02-10 11:57 回答
  • 我认为你错过了一些配置,因为它很容易集成JSP只需遵循以下步骤

    1 - tomcat-embad-jasper依赖

    <dependency>
          <groupId>org.apache.tomcat.embed</groupId>
          <artifactId>tomcat-embed-jasper</artifactId>
          <scope>provided</scope>
    </dependency>
    

    2 - 添加以下配置是application.properties

    spring.mvc.view.prefix: /
    spring.mvc.view.suffix: .jsp
    

    这仍然有一些疑问,然后在链接下面查看它

    Spring Boot和JSP集成

    2023-02-10 11:59 回答
  • 也为我工作,但我不得不删除

    <scope>provided</scope>
    
    <dependency>
      <groupId>org.apache.tomcat.embed</groupId>
      <artifactId>tomcat-embed-jasper</artifactId>
    </dependency>
    

    2023-02-10 11:59 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有