Spring Boot(八)-- 整合 Jsp

  前面小编介绍了 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 项目:
Spring Boot(八)-- 整合 Jsp_第1张图片
这里只需添加 web 的依赖,关于 Jsp 的依赖需要我们自己手动添加:

<dependency>
    <groupId>jstlgroupId>
    <artifactId>jstlartifactId>
    <version>1.2version>
dependency>
<dependency>
    <groupId>javax.servletgroupId>
    <artifactId>javax.servlet-apiartifactId>
    <version>4.0.1version>
dependency>
<dependency>
    <groupId>javax.servlet.jspgroupId>
    <artifactId>javax.servlet.jsp-apiartifactId>
    <version>2.3.3version>
dependency>
<dependency>
    <groupId>org.apache.tomcat.embedgroupId>
    <artifactId>tomcat-embed-jasperartifactId>
dependency>

  由于我们的 jsp 页面要放在 webapp 目录下,我们需要自己创建,具体操作如下:
Spring Boot(八)-- 整合 Jsp_第2张图片

创建自动化配置类

  我们 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(八)-- 整合 Jsp_第3张图片
  至此有关 Spring Boot 整合前端页面模板的教程,小编就介绍到这里,如有疑问请留言!!!

你可能感兴趣的:(Spring,Boot)