zoukankan      html  css  js  c++  java
  • 从零开始学习springBoot(使用thymeleaf和freemarker模板)

    整体步骤:

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

    (2)            如何关闭thymeleaf缓存

    (3)            编写模板文件.html

         

    Spring Boot默认就是使用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;

    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

    学习来源http://412887952-qq-com.iteye.com/blog/2291542
  • 相关阅读:
    处理Excel的值
    期初数据导入
    返回当前网页的url
    每次Title显示不同的名言
    js做的皮肤更换,可以记住最后更换的效果。
    未知高度的居中
    一个上传多个图片的js技巧
    1205 鸽巢原理
    acm网址
    ios在真机上调试时出现“Error launching remote program: failed to get the task for process xxx"解决办法
  • 原文地址:https://www.cnblogs.com/zhengzhouyang/p/7718006.html
Copyright © 2011-2022 走看看