Spring Boot 整合視圖層技術,application全局配置文件

Spring Boot 整合視圖層技術

Spring Boot 整合jsp
Spring Boot 整合Freemarker
Spring Boot 整合 Thymeleaf  (重點講解,官方推薦)

Spring Boot 整合jsp

步驟:html

  1. 新建maven project的Spring Boot 的jar項目
    在這裏插入圖片描述
    在這裏插入圖片描述
  2. 打開pom.xml文件 加入jsp依賴
    在這裏插入圖片描述
    代碼以下:
<parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.2.4.RELEASE</version>
    </parent>
    <dependencies>
        <!-- spring boot web啓動器 -->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
        <!-- jstl -->
        <dependency>
            <groupId>javax.servlet</groupId>
            <artifactId>jstl</artifactId>
        </dependency>
        <!-- jasper:jsp引擎 -->
        <dependency>
            <groupId>org.apache.tomcat.embed</groupId>
            <artifactId>tomcat-embed-jasper</artifactId>
        </dependency>
    </dependencies>
  1. 編寫控制器Controller(不訪問數據庫)
    在這裏插入圖片描述
    代碼以下:
@Controller
public class UserController {
	/**
	 * 獲取用戶信息,到jsp頁面進行展現
	*/
	@RequestMapping("/userList")
	public String getUsersAll(Model model) {
		//訪問業務層-->數據訪問層mapper-->mybatis數據庫獲取全部用戶信息
		//模擬,定義固定的用戶信息
		List<User> list=new ArrayList<User>();
		list.add(new User("007", "小張", 22));
		list.add(new User("009","小康",32));
		list.add(new User("012","小健",18));
		model.addAttribute("list", list);
		//配置springmvc的視圖解析器,前綴:/WEB-INF/   後綴: .jsp
		return "index";
	}
}
  1. 建立Spring Boot的全局配置文件 application.properties
    src/main/resources-->建立-->application.properties
    Spring boot默認識別兩個全局配置文件:application.properties和application.yml
    在這裏插入圖片描述
    代碼:
#配置jsp的訪問的前綴和後綴 (視圖解析器)
spring.mvc.view.prefix=/WEB-INF/
spring.mvc.view.suffix=.jsp
  1. 視圖層 jsp
    src/main-->webapp-->WEB-INF-->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>
<html>
<head>
    <meta charset="UTF-8">
    <title>用戶顯示頁面</title>
</head>
<body>
<table border="1" width="60%" align="center">
    <tr>
        <td>用戶編號</td>
        <td>用戶名稱</td>
        <td>年齡</td>
    </tr>
    <c:forEach items="${list}" var="user">
        <tr>
            <td>${user.id}</td>
            <td>${user.username}</td>
            <td>${user.age}</td>
        </tr>
    </c:forEach>
</table>
</body>
</html>
  1. 啓動類
@SpringBootApplication
public class App {
    public static void main(String[] args) {
        SpringApplication.run(App.class, args);
    }
}
  1. 運行 瀏覽器輸入 localhost:8080/userList
    在這裏插入圖片描述

Spring Boot 整合freemarker

  1. 建立maven project 的jar 的spring boot 項目 (步驟同樣省略)
  2. 打開pom.xml,加入freemarker相關依賴
    在這裏插入圖片描述
    代碼:
<dependencies>
     <!--spring boot web 啓動器座標 -->
     <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>
  1. 編寫控制器Controller
    在這裏插入圖片描述
  2. 視圖層 freemarker
    freemarker 頁面必須放入src/main/resources下的templates目錄下,而且頁面的擴展名爲:ftl
    在這裏插入圖片描述
    代碼:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>用戶顯示頁面</title>
</head>
<body>
   <table border="1" width="60%" align="center">
       <tr>
       	  <td>用戶編號</td>
       	  <td>用戶名稱</td>
       	  <td>年齡</td>
       </tr>
	   <!--freemarker獲取request傳過來的數據  <#數據類型  key類型 as 遍歷元素名稱>-->
	   <#list list as user>
	       <tr>
	       	  <td>${user.id}</td>
	       	  <td>${user.username}</td>
	       	  <td>${user.age}</td>
	       </tr>
	   </#list>
   </table>
</body>
<html>
  1. 建立Spring Boot的全局配置文件 application.properties
    在這裏插入圖片描述
    代碼:
# 模板編碼。
spring.freemarker.charset= UTF-8
# 後綴,在構建URL時附加到查看名稱。
spring.freemarker.suffix=.ftl
# 逗號分隔的模板路徑列表。src/main/resources==classpath
spring.freemarker.template-loader-path=classpath:/templates/
server.port=8081
  1. 啓動類
@SpringBootApplication
public class App {
	public static void main(String[] args) {
		SpringApplication.run(App.class, args);
	}
}

運行
在這裏插入圖片描述java

相關文章
相關標籤/搜索