【问题标题】:Spring boot not rendering jsp viewSpring Boot不呈现jsp视图
【发布时间】:2021-01-05 07:19:09
【问题描述】:

我正在使用带有 jsp redering 的 Spring Boot 作为其中一个控制器的视图。我们还添加了拦截器。我在 pom.xml 中添加了以下详细信息 -

        <dependency>
          <groupId>org.apache.tomcat.embed</groupId>
          <artifactId>tomcat-embed-jasper</artifactId>
          <version>9.0.37</version>
        </dependency>

我还在 application.properties 文件中添加了以下配置 -

       spring.mvc.view.prefix=/WEB-INF/view/
       spring.mvc.view.suffix=.jsp

我的 jsp 被添加到 src/main/resources/webapp/WEB-INF/view/ 里面。从拦截器中,我看到视图正在返回,但之后它没有渲染到 jsp。拦截器再次调用 /error 视图。 这里有任何帮助。我关注了所有的博客,但没有工作。

【问题讨论】:

  • 你能粘贴你的控制器吗?
  • @Controller public class HelloController extends AbstractController { @RequestMapping(value="/hi", method = RequestMethod.GET) public ModelAndView handler (Model model) { // model.addAttribute("msg", "a jar packaging example"); return new ModelAndView("hello"); } }
  • 这是我的控制器。请求到达控制器,但响应时它会到达 ErrorBaseController (/error),这是默认的 spring 视图映射

标签: spring-boot


【解决方案1】:

您缺少以下依赖项。添加这将解决您的问题:

<dependency>
    <groupId>javax.servlet</groupId>
    <artifactId>jstl</artifactId>
</dependency>

【讨论】:

  • 请显示你的项目结构,webapp文件夹必须在main里面而不是在resources下
  • 抱歉类型...我已将 jsp 文件放入 src/main/webapp/WEB-INF/view/ 并且我尝试将其放入 src/main/resources/META-INF/resources/WEB -INF/view/ 但这也不起作用。我正在使用 spring boot 版本 -2.3.3.RELEASE 和 tomcat-embed-jasper 版本 - 9.0.37。
最近更新 更多