一、SpringBoot整合JSP
项目目录结构图
1、pom文件添加关于整合jsp的依赖:
<?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>
<groupId>com.example</groupId>
<artifactId>demo</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>jar</packaging>
<name>springBoot_view</name>
<description>Demo project for Spring Boot</description>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>1.5.17.RELEASE</version>
<relativePath/>
</parent>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<java.version>1.8</java.version>
</properties>
<dependencies>
<!-- springboot 启动器 支持全栈式的web开发,包括springmvc 和tomcat的jar包-->
<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>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
</project>
2、创建SpringBoot的全局配置文件,application.properties
#访问jsp的前缀
spring.mvc.view.prefix=/WEB-INF/jsp/
#访问jsp的后缀
spring.mvc.view.suffix=.jsp
3、User.java
package com.example.domain;
public class User {
private int userId;
private String name;
private int age;
public User(int userId, String name, int age) {
this.userId = userId;
this.name = name;
this.age = age;
}
//get,set方法省略
}
4、UserController.java
package com.example.controller;
/**
* Spring整合jsp
*/
@Controller
public class UserController {
/**
* 处理请求
*/
@RequestMapping("/showUser")
public String showUser(Model model){
List<User> list=new ArrayList<>();
list.add(new User(1,"张三",20));
list.add(new User(2,"李四",24));
list.add(new User(3,"王五",28));
//需要一个model对象
model.addAttribute("list",list);
return "index"; // 自动查找/WEB-INF/jsp/index.jsp
}
}
5、index.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>springBoot整合jsp</title>
</head>
<body>
<table border="1" align="center" width="50%">
<tr>
<th>ID</th>
<th>Name</th>
<th>Age</th>
</tr>
<c:forEach items="${list}" var="user">
<tr>
<td>${user.userId }</td>
<td>${user.name }</td>
<td>${user.age }</td>
</tr>
</c:forEach>
</table>
</body>
</html>
6、编写启动类:
package com.example;
@SpringBootApplication
public class AppJsp {
public static void main(String[] args) {
SpringApplication.run(AppJsp.class, args);
}
}
运行启动类,访问:http://localhost:8080/showUser
二、SpringBoot整合FreeMarker
项目目录结构
1、修改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>
<groupId>com.example</groupId>
<artifactId>demo</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>jar</packaging>
<name>springBoot_view</name>
<description>Demo project for Spring Boot</description>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>1.5.17.RELEASE</version>
<relativePath/>
</parent>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<java.version>1.8</java.version>
</properties>
<dependencies>
<!-- springboot 启动器 支持全栈式的web开发,包括springmvc 和tomcat的jar包-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<!-- Freemarker启动器 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-freemarker</artifactId>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
</project>
2、编写视图
<html>
<head>
<title>展示用户数据</title>
<meta charset="utf-8" />
</head>
<body>
<table border="1" align="center" width="50%">
<tr>
<td>ID</td>
<td>Name</td>
<td>Age</td>
</tr>
<#list list as user>
<tr>
<td>${user.userId}</td>
<td>${user.name}</td>
<td>${user.age}</td>
</tr>
</#list>
</table>
</body>
</html>
注意:SpringBoot要求模板形式的试图层技术的文件必须要放到src/main/resources目录下必须要一个名称为templates。
(其他类与整合jsp一致)
运行启动类,访问:http://localhost:8080/showUser