1.新建Maven工程
2.pom关键依耐
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>1.5.10.RELEASE</version>
</parent>
<groupId>com.cchengyyj</groupId>
<artifactId>springboot-jsp</artifactId>
<version>0.0.1-SNAPSHOT</version>
<!-- 修改jdk版本 -->
<properties>
<java.version>1.7</java.version>
</properties>
<dependencies>
<!-- springBoot的启动器 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<!-- jstl标签 -->
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>jstl</artifactId>
</dependency>
<!-- jasper -->
<dependency>
<groupId>org.apache.tomcat.embed</groupId>
<artifactId>tomcat-embed-jasper</artifactId>
<scope>provided</scope>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.7.0</version>
<configuration>
<source>1.7</source>
<target>1.7</target>
<encoding>UTF-8</encoding>
</configuration>
</plugin>
<!-- 资源文件拷贝插件 -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-resources-plugin</artifactId>
<version>2.7</version>
<configuration>
<encoding>UTF-8</encoding>
</configuration>
</plugin>
</plugins>
<resources>
<resource>
<directory>src/main/webapp</directory>
<!--注意此次必须要放在此目录下才能被访问到 -->
<targetPath>META-INF/resources</targetPath>
<includes>
<include>**/**</include>
</includes>
</resource>
</resources>
</build>
</project>
3.在resources文件夹下创建application.properties或者application.yml,选择自己喜欢的配置风格,在文件中配置springboot的视图解析器
application.yml内容如下:
spring:
mvc:
view:
prefix: /WEB-INF/jsp/
suffix: .jsp
或者application.properties中添加如下:
spring.mvc.view.prefix=/WEB-INF/jsp/
spring.mvc.view.suffix=.jsp
4.编写一个Entity(User类),一个Controller(ContentController类)测试
User类:
/**
* <p> className: User
* <p> package: com.cchengyyj.entity
* <p> description: 测试Springboot 整合JSP
* <p> datetime: 2019/8/31 15:59
* <p> author: cchengyyj@gmail.com
*/
public class User {
private int id;
private String name;
private String address;
public User(int id, String name, String address) {
this.id = id;
this.name = name;
this.address = address;
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getAddress() {
return address;
}
public void setAddress(String address) {
this.address = address;
}
}
ContentController类:
/**
* <p> className: ContentController
* <p> package: com.cchengyyj.controller
* <p> description: Springboot 整合JSP测试的控制器
* <p> datetime: 2019/8/31 15:55
* <p> author: cchengyyj@gmail.com
*/
@Controller
public class ContentController {
@GetMapping(value = {"/showUsers"})
public ModelAndView getUsers(){
//构建测试数据
List<User> userList = new ArrayList<User>();
User u1 = new User(1, "Tom", "America");
User u2 = new User(2, "LeiLi", "China");
userList.add(u1);
userList.add(u2);
//创建一个模型视图对象
ModelAndView modelAndView = new ModelAndView();
//将数据放置到ModelAndView对象中
modelAndView.addObject("userList", userList);
// 指定content.jsp视图接受model
modelAndView.setViewName("content");
//返回ModelAndView对象mav
return modelAndView;
}
}
5.视图content.jsp获取数据实现
content.jsp如下:
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<html>
<head>
<title>Springboot 整合JSP测试</title>
</head>
<body>
<table border="1" align="center" width="50%">
<tr>
<th>ID</th>
<th>名字</th>
<th>地址</th>
</tr>
<c:forEach var="user" items="${userList}">
<tr>
<td>${user.id}</td>
<td>${user.name}</td>
<td>${user.address}</td>
</tr>
</c:forEach>
</table>
</body>
</html>
6.访问测试
注意:当访问jsp页面,报404时,去看看编译出的jar包中是否有jsp页面,没有用maven插件进行资源拷贝
来源:oschina
链接:https://my.oschina.net/u/4293959/blog/3409786