本文介绍 Spring Boot 集成 JSP。
1、pom.xml 增加对 JSP 的支持
Spring Boot 的默认视图支持是 Thymeleaf 模板引擎,如果想要使用 JSP 页面,需要配置 servlet 依赖和 tomcat 的支持。
在 pom.xml 文件中增加如下代码:
<!-- servlet依赖 --><dependency><groupId>javax.servlet</groupId><artifactId>javax.servlet-api</artifactId><scope>provided</scope></dependency><dependency><groupId>javax.servlet</groupId><artifactId>jstl</artifactId></dependency><!-- tomcat的支持 --><dependency><groupId>org.apache.tomcat.embed</groupId><artifactId>tomcat-embed-jasper</artifactId><scope>provided</scope></dependency>
2、application.yml 文件,将 JSP 文件重定向到 /WEB-INF/views/ 目录下
server:port: 8889servlet:context-path: /springbootdemo-ymlname: jpm
age: 18person:name: jpmage: 19spring:mvc:view:prefix: /WEB-INF/views/suffix: .jsp
spring.mvc.view.prefix 指定 mvc 视图的前缀
spring.mvc.view.suffix 指定 mvc 视图的后缀
上面的配置表示可以返回/WEB-INF/views/目录下的*.jsp
在 webapp 下新建 /WEB-INF/views/ 目录,用于存放 jsp 文件
person.jsp:
<%@ page language="java" contentType="text/html; charset=Utf-8"pageEncoding="Utf-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="Utf-8">
<title>Person</title>
</head>
<body>Spring Boot ${person}
</body>
</html>
3、新建 PersonController.java
如果只使用 @RestController注解,则 Controller 中的方法无法返回 jsp页面,因此我们要用 @Controller 注解,新增 returnPerson() 方法用于返回 jsp 页面,返回一个 person 的值。
package com.jpm.springboot.controller;import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;@Controller
public class PersonController {@RequestMapping("/getPerson")public String returnPerson(Model model) {model.addAttribute("person", "你好,jsp!"); // 为页面设置属性return "person"; // 返回person.jsp页面的名称person}
}
4、运行程序
访问http://localhost:8889/springbootdemo-yml/returnPerson
下一篇将继续为大家进一步介绍 Spring Boot 的入门知识,欢迎关注。
扫码加好友,拉你进流群,一起探讨交流!