SpringBoot整合JSP

SpringBoot 默认是使用的模板引擎(Thymeleaf)
使用SpringBoot 和 JSP整合如下:

添加依赖
<!-- 添加 JSP 相关依赖-->
        <dependency>
            <groupId>javax.servlet</groupId>
            <artifactId>jstl</artifactId>
        </dependency>
        
        // 解析JSP的依赖,如果这个jar包没有导入成功,则会出现404情况
       // tomcat-embed-jasper 主要用来支持 JSP 的解析和运行
        <dependency>
            <groupId>org.apache.tomcat.embed</groupId>
            <artifactId>tomcat-embed-jasper</artifactId>
            <scope>provided</scope>
        </dependency>
 <!-- 整合 JSP -->
接下来我们在 src/main 目录下新建 webapp 文件夹,并新建 jsp 文件,最终的目录结构如下:

在这里插入图片描述

需要对视图解析进行配置,SpringBoot默认解析是以 **.html** 结尾,需要在配置文件中指定 jsp 的目录和后缀名称,在 resources/application.properties 文件中增加如下配置:

spring.mvc.view.prefix: /WEB-INF/pages/
spring.mvc.view.suffix: .jsp

  • spring.mvc.view.prefix 指明视图文件在 webapp 下的哪个目录

  • spring.mvc.view.suffix 指明视图文件的文件后缀名

后面就可以测试了:
在 pages 目录下新建 hello.jsp 文件,代码如下:

<%@ page language="java" contentType="text/html; charset=UTF-8"
         pageEncoding="UTF-8" %>
<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>jsp整合</title>
</head>
<body>
information : ${info}
</body>
</html>

在 controller 包下新建 JSPController,代码如下:

package com.springboot.controller;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;

@Controller
public class JSPController {
    @RequestMapping("/hello")
    public String hello(Model model) {
        model.addAttribute("info", "Spring Boot 整合 JSP");
        return "hello";
    }
}

当访问 /hello 路径时会被代码中的 hello() 方法处理,并封装 info 字段到 model 对象中,之后转发到对应的视图,根据前面配置文件的设置,我们知道该方法最终会跳转到 /WEB-INF/pages/hello.jsp 中,如果不存在该文件则会报错,否则就会显示 JSP 页面内容。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值