18. 使用模板【从零开始学Spring Boot】

转:http://blog.csdn.net/linxingliang/article/details/52017098

18.1 使用thymeleaf

    

     整体步骤:

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

(2)       如何关闭thymeleaf缓存

(3)       编写模板文件.html

    

SpringBoot默认就是使用thymeleaf模板引擎的,所以只需要在pom.xml加入依赖即可:

<dependency>

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

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

</dependency>

 

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;

importorg.springframework.web.bind.annotation.RequestMapping;

 

/**

 * 模板测试.

 * @author Administrator

 *

 */

@Controller

public class TemplateController {

      

       /**

        * 返回html模板.

        */

       @RequestMapping("/helloHtml")

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

              map.put("hello","fromTemplateController.helloHtml");

              return "/helloHtml";

       }

      

}

 

启动应用,输入地址:http://127.0.0.1:8080/helloHtml 会输出:

Hello.v.2

from TemplateController.helloHtml

 

 

Thymeleaf基本知识参考:http://blog.csdn.net/pdw2009/article/details/44700897

 

 

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-separated list

#spring.freemarker.view-names=# whitelist of view names that can be resolved

 

 com.kfit.test.web.TemplateController:

/**

        * 返回html模板.

        */

       @RequestMapping("/helloFtl")

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

              map.put("hello","fromTemplateController.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是可以共存的。

posted @ 2017-04-13 22:12  小学生II  阅读(187)  评论(0编辑  收藏  举报