SpringBoot官网上推荐使用Thymeleaf模板引擎,但是我们很多时候还是使用JSP来实现界面的展示,所以这篇文件就主要是讲解如何使用SpringBoot集成JSP。如大家对Thymeleaf有问题,可以一起交流。
1、依赖jar包
由于一直使用Maven,直接在pom.xml中添加需要的jar包
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<scope>priveded</scope>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>jstl</artifactId>
</dependency>
<dependency>
<groupId>org.apache.tomcat.embed</groupId>
<artifactId>tomcat-embed-jasper</artifactId>
<scope>priveded</scope>
</dependency>
2、application.properties文件配置
spring.mvc.view.prefix=/WEB-INF/views/
spring.mvc.view.suffix=.jsp
#关闭默认模板引擎
spring.thymeleaf.cache=false
spring.thymeleaf.enabled=false
3、创建WEB-INF文件
在src/main下面创建相关目录,目录结构为 webapp/WEB-INF/views,并在views文件中添加一个jsp界面listUser.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<table align='center' border='1' cellspacing='0'>
<tr>
<td>id</td>
<td>name</td>
</tr>
<c:forEach items="${users}" var="s" varStatus="st">
<tr>
<td>${s.id}</td>
<td>${s.userName}</td>
</tr>
</c:forEach>
</table>
4、实现服务端代码
4.1、先创建一个User对象
package com.example.demo.domain;
import java.io.Serializable;
public class User implements Serializable {
private static final long serialVersionUID = 1L;
private String id;
private String userName;
private String age;
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getUserName() {
return userName;
}
public void setUserName(String userName) {
this.userName = userName;
}
public String getAge() {
return age;
}
public void setAge(String age) {
this.age = age;
}
@Override
public String toString() {
return "User [id=" + id + ", userName=" + userName + ", age=" + age
+ "]";
}
public User() {
}
}
4.2、创建Controller来实现数据的返回
package com.example.demo.controller;
import java.util.ArrayList;
import java.util.List;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
import com.example.demo.domain.User;
import com.example.demo.mapper.UserMapper;
@Controller
public class UserController {
@RequestMapping("/listUser")
public String listUser(Model model) {
List<User> listUser = new ArrayList<>();
User user = null;
for(int i=0; i<10; i++) {
user = new User();
user.setId((i + 1) + "" );
user.setUserName("张三" + i);
user.setAge((20 + i) + "");
listUser.add(user);
}
model.addAttribute("users", listUser);
return "listUser";
}
}
5.通过浏览器输入:http://localhost:8080/listUser
效果如图:
扫描关注:全栈工程师成长记