前面小编介绍了 Spring Boot 整合 Freemarker 和 Thymeleaf,由于 Jsp 是我们 Java 最基础的页面模板,Spring Boot 也是支持的,只是使用起来还是比较麻烦的。下面小编就以本文介绍 Spring Boot 整合 Jsp 。
Jsp简介
JSP(全称JavaServer Pages)是由Sun Microsystems公司主导创建的一种动态网页技术标准。JSP部署于网络服务器上,可以响应客户端发送的请求,并根据请求内容动态地生成HTML、XML或其他格式文档的Web网页,然后返回给请求者。
整合 Jsp
Spring Boot 整合 Jsp 相对于小编前面介绍的两种整合页面模板是比较麻烦的,首先,我们先创建一个 Spring Boot 项目:
这里只需添加 web 的依赖,关于 Jsp 的依赖需要我们自己手动添加:
<dependency>
<groupId>jstl</groupId>
<artifactId>jstl</artifactId>
<version>1.2</version>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>4.0.1</version>
</dependency>
<dependency>
<groupId>javax.servlet.jsp</groupId>
<artifactId>javax.servlet.jsp-api</artifactId>
<version>2.3.3</version>
</dependency>
<dependency>
<groupId>org.apache.tomcat.embed</groupId>
<artifactId>tomcat-embed-jasper</artifactId>
</dependency>
由于我们的 jsp 页面要放在 webapp 目录下,我们需要自己创建,具体操作如下:
创建自动化配置类
我们 Jsp 相关的配置均在此类中配置,代码如下:
@Configuration
public class WebMvcConfig implements WebMvcConfigurer {
@Override
public void configureViewResolvers(ViewResolverRegistry registry) {
registry.jsp("/", ".jsp");
}
}
创建 Controller
@Controller
public class BookController {
@RequestMapping("/book")
public String book(Model model) {
List<Book> books = new ArrayList<>();
books.add(new Book(1, "西游记", "吴承恩"));
books.add(new Book(2, "三国演义", "罗贯中"));
books.add(new Book(4, "红楼梦", "曹雪芹"));
books.add(new Book(3, "水浒传", "施耐庵"));
model.addAttribute("books", books);
return "book";
}
}
//book 类
package org.yexiaomo.jsp;
public class Book {
private Integer id;
private String name;
private String author;
//此处省略有参和无参构造函数 以及 get 和 set 方法
}
创建 jsp 页面
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%--
Created by IntelliJ IDEA.
User: ZMF
Date: 2019/7/25
Time: 13:37
To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>Title</title>
</head>
<body>
<table border="1" style="border-collapse: collapse">
<tr>
<td>编号</td>
<td>书名</td>
<td>作者</td>
</tr>
<c:forEach items="${books}" var="book">
<tr>
<td>${book.id}</td>
<td>${book.name}</td>
<td>${book.author}</td>
</tr>
</c:forEach>
</table>
</body>
</html>
启动项目
项目启动完成后,访问:http://localhost:8080/book 如下:
至此有关 Spring Boot 整合前端页面模板的教程,小编就介绍到这里,如有疑问请留言!!!