springboot模板



Thymeleaf模板

關於Thymeleaf的優勢,我只說一條:它就是html頁面。html

 

Thymeleaf的pom依賴java

<dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-thymeleaf</artifactId>
        </dependency>

工程目錄:web

Spring Boot官方文檔建議在開發時將緩存關閉,在application.yml中加:spring

spring: thymeleaf: ache=false:

後臺代碼:緩存

package com.cjh.springboot01.Controller; import com.cjh.springboot01.entity.User; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.servlet.ModelAndView; import java.util.ArrayList; import java.util.List; /** * @author * @site * @company * @create 2019-11-08 11:05 */ @Controller @RequestMapping("/thymeleaf") public class ThymeleafController { @RequestMapping("/list") public ModelAndView list(){ ModelAndView ma= new ModelAndView(); List list = new ArrayList(); list.add(new User("1","zs")); list.add(new User("2","ls")); list.add(new User("3","ww")); ma.addObject("userList",list); ma.addObject("msg","<span style = 'color:red;'>這個是html標籤</span>"); ma.addObject("name","ls"); //跳頁面
        ma.setViewName("list"); return ma; } }

userspringboot

package com.cjh.springboot01.entity; import lombok.Data; /** * @author * @site * @company * @create 2019-11-08 11:17 */ @Data public class User { private String uid; private String uname; public User() { } public User(String uid, String uname) { this.uid = uid; this.uname = uname; } }

htmlmybatis

<!DOCTYPE html>
<html xmlns:th="http://www.thymeleaf.org">
<head>
    <meta charset="UTF-8">
    <title>Thymeleaf</title>
</head>
<body> Thymeleaf <h2>顯示文本</h2>
<span th:text="${name}"></span>

<h2>顯示HTML</h2>
<div th:utext="${msg}"></div>
<h2>循環</h2>
<table>
    <tr>
        <td>用戶id</td>
        <td>用戶民</td>
    </tr>
    <tr th:each="u:${userList}">
        <td th:text="${u.uid}"></td>
        <td th:text="${u.uname}"></td>
    </tr>
</table>

<h2>包含頁面</h2>
<div th:include="role/common/head2"></div>


<h2>包含頁面</h2>
<div th:include="role/common/head2 ::h3"></div>
</body>
</html>

head2.htmlmvc

<div th:fragment="h1"> 第一部份內容 </div>
<div th:fragment="h2"> 第二部份內容 </div>
<div th:fragment="h3"> 第三部份內容 </div>

結果:app

Freemarker模板

pom依賴maven

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-freemarker</artifactId>
   </dependency>

<!--能夠不加,可是作項目的時候可能會用-->
 <resources>
            <!--解決mybatis-generator-maven-plugin運行時沒有將XxxMapper.xml文件放入target文件夾的問題-->
            <resource>
                <directory>src/main/java</directory>
                <includes>
                    <include>**/*.xml</include> </includes> </resource> <!--freemarker模板也讀取須要註釋標紅地方--> <resource> <directory>src/main/resources</directory> <includes> <!--<include>*.properties</include>--> <!--<include>*.xml</include>--> <!--<include>*.yml</include>--> </includes> </resource> </resources>

application.yml文件的默認配置

 freemarker: # 設置模板後綴名 suffix: .ftl # 設置文檔類型 content-type: text/html # 設置頁面編碼格式 charset: UTF-8 # 設置頁面緩存 cache: false # 設置ftl文件路徑,默認是/templates,爲演示效果添加role template-loader-path: classpath:/templates/role mvc: static-path-pattern: /static/**

controller

package com.cjh.springboot01.Controller; import com.cjh.springboot01.entity.Role; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.servlet.ModelAndView; import java.util.ArrayList; import java.util.List; /** * @author * @site * @company * @create 2019-11-08 11:37 */ @Controller @RequestMapping("/freemarker") public class FreemarkerController { @RequestMapping("/list") public ModelAndView list(){ ModelAndView mv = new ModelAndView(); mv.addObject("loginName","雙11"); List list = new ArrayList(); list.add(new Role("1","1號用戶")); list.add(new Role("2","2號用戶")); list.add(new Role("3","3號用戶")); mv.addObject("roleList",list); mv.setViewName("list"); return mv; } }

role

package com.cjh.springboot01.entity; import lombok.Data; /** * @author * @site * @company * @create 2019-11-08 11:42 */ @Data public class Role { private String rid; private String rname; public Role() { } public Role(String rid, String rname) { this.rid = rid; this.rname = rname; } }

html

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Freemarker</title>
</head>
<body> Freemarker <h2>獲取值</h2> ${loginName!'未知'} <h2>遍歷</h2>
<table border="1px" width="60%">
    <tr>
        <td>角色id</td>
        <td>角色名</td>
    </tr>
    <#list roleList as role>
        <tr>
            <td>${role.rid}</td>
            <td>${role.rname}</td>
        </tr>
    </#list>
</table>

<h2>包含頁面</h2>
<#include 'common/head.ftl' />
<#include 'common/global.ftl' />

<h2>獲取項目名</h2> ${springMacroRequestContext.contextPath} ${ctx} <h2>如何在頁面定義變量</h2>
<#assign ctx1> ${springMacroRequestContext.contextPath} </#assign> ${ctx1} </body>
</html>

global.ftl

<#global ctx> ${springMacroRequestContext.contextPath} </#global>

head.ftl

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body> 頭部頁面 </body>
</html>

結果:

相關文章
相關標籤/搜索