從零開始學習springBoot(使用thymeleaf和freemarker模板)

總體步驟:html

(1)            在pom.xml中引入thymeleaf;java

(2)            如何關閉thymeleaf緩存web

(3)            編寫模板文件.htmlspring

     

Spring Boot默認就是使用thymeleaf模板引擎的,因此只須要在pom.xml加入依賴便可:緩存

<dependency>session

         <groupId>org.springframework.boot</groupId>app

         <artifactId>spring-boot-starter-thymeleaf</artifactId>ide

</dependency>spring-boot

 

Thymeleaf緩存在開發過程當中,確定是不行的,那麼就要在開發的時候把緩存關閉,只須要在application.properties進行配置便可:測試

########################################################

###THYMELEAF (ThymeleafAutoConfiguration)

########################################################

#spring.thymeleaf.prefix=classpath:/templates/

#spring.thymeleaf.suffix=.html

#spring.thymeleaf.mode=HTML5

#spring.thymeleaf.encoding=UTF-8

# ;charset=<encoding> is added

#spring.thymeleaf.content-type=text/html

# set to false for hot refresh

spring.thymeleaf.cache=false

 

編寫模板文件src/main/resouces/templates/helloHtml.html

<!DOCTYPE html>

<html xmlns="http://www.w3.org/1999/xhtml" xmlns:th="http://www.thymeleaf.org"

      xmlns:sec="http://www.thymeleaf.org/thymeleaf-extras-springsecurity3">

    <head>

        <title>Hello World!</title>

    </head>

    <body>

        <h1 th:inline="text">Hello.v.2</h1>

        <p th:text="${hello}"></p>

    </body>

</html>

編寫訪問路徑(com.kfit.test.web.TemplateController):

package com.kfit.test.web;

 

import java.util.Map;

 

import org.springframework.stereotype.Controller;

import org.springframework.web.bind.annotation.RequestMapping;

 

/**

 * 模板測試.

 * @author Administrator

 *

 */

@Controller

publicclass TemplateController {

   

    /**

     * 返回html模板.

     */

    @RequestMapping("/helloHtml")

    public String helloHtml(Map<String,Object> map){

       map.put("hello","from TemplateController.helloHtml");

       return"/helloHtml";

    }

   

}

 

啓動應用,輸入地址:http://127.0.0.1:8080/helloHtml 會輸出:

Hello.v.2

from TemplateController.helloHtml

 

 

18.2 使用freemarker

使用freemarker也很簡單,

在pom.xml加入freemarker的依賴:

<dependency>

            <groupId>org.springframework.boot</groupId>

            <artifactId>spring-boot-starter-freemarker</artifactId>

</dependency>

剩下的編碼部分都是同樣的,說下application.properties文件:

########################################################

###FREEMARKER (FreeMarkerAutoConfiguration)

########################################################

spring.freemarker.allow-request-override=false

spring.freemarker.cache=true

spring.freemarker.check-template-location=true

spring.freemarker.charset=UTF-8

spring.freemarker.content-type=text/html

spring.freemarker.expose-request-attributes=false

spring.freemarker.expose-session-attributes=false

spring.freemarker.expose-spring-macro-helpers=false

#spring.freemarker.prefix=

#spring.freemarker.request-context-attribute=

#spring.freemarker.settings.*=

#spring.freemarker.suffix=.ftl

#spring.freemarker.template-loader-path=classpath:/templates/#comma-separatedlist

#spring.freemarker.view-names= #whitelistofviewnamesthatcanberesolved

 

 com.kfit.test.web.TemplateController:

/**

     * 返回html模板.

     */

    @RequestMapping("/helloFtl")

    public String helloFtl(Map<String,Object> map){

       map.put("hello","from TemplateController.helloFtl");

       return"/helloFtl";

    }

 

src/main/resouces/templates/helloFtl.ftl

<!DOCTYPE html>

<html xmlns="http://www.w3.org/1999/xhtml" xmlns:th="http://www.thymeleaf.org"

      xmlns:sec="http://www.thymeleaf.org/thymeleaf-extras-springsecurity3">

    <head>

        <title>Hello World!</title>

    </head>

    <body>

        <h1>Hello.v.2</h1>

        <p>${hello}</p>

    </body>

</html>

 

訪問地址:http://127.0.0.1:8080/helloFtl

Hello.v.2

from TemplateController.helloFtl

 

thymeleaf和freemarker是能夠共存的。

資料來源:http://412887952-qq-com.iteye.com/blog/2292402

相關文章
相關標籤/搜索