zoukankan      html  css  js  c++  java
  • 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是可以共存的。

  • 相关阅读:
    Spring在代码中获取bean的几种方式
    SpringBoot学习:获取yml和properties配置文件的内容(转)
    SpringBoot 使用 @Value 从 YAML文件读取属性(转)
    SpringBoot yml 配置
    Springboot+shiro配置笔记+错误小结
    shiro退出登陆清空缓存实现
    springboot(十四):springboot整合shiro-登录认证和权限管理(转)
    Apache Shiro 简单概念
    漫步Facebook开源C++库Folly之string类设计(散列、字符串、向量、内存分配、位处理等,小部分是对现有标准库和Boost库功能上的补充,大部分都是基于性能的需求而“重新制造轮子”)
    Windows Vista 的历史地位
  • 原文地址:https://www.cnblogs.com/ceshi2016/p/6706462.html
Copyright © 2011-2022 走看看