`

18.[视频]使用模板(thymeleaf-freemarker)【从零开始学Spring Boot】

阅读更多

 

【视频&交流平台】

à SpringBoot视频

http://study.163.com/course/introduction.htm?courseId=1004329008&utm_campaign=commission&utm_source=400000000155061&utm_medium=share

à SpringCloud视频

http://study.163.com/course/introduction.htm?courseId=1004638001&utm_campaign=commission&utm_source=400000000155061&utm_medium=share

à Spring Boot源码

https://gitee.com/happyangellxq520/spring-boot

à Spring Boot交流平台

http://412887952-qq-com.iteye.com/blog/2321532

 

 

 

整体步骤:

(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

 

thymeleaffreemarker是可以共存的。

 

 

 Spring Boot 系列博客】

视频&交流平台

à Spring Boot网易云课堂视频

http://study.163.com/course/introduction.htm?courseId=1004329008

à Spring Boot交流平台

http://412887952-qq-com.iteye.com/blog/2321532

 

网易云课堂视频最新更新

第十一章 Spring Boot 日志

1、spring boot日志—理论

2、Spring Boot日志-logback

3、Spring Boot日志-log4j2

第十二章 Spring Boot 知识点2

1、spring boot 服务配置和部署

2、Spring Boot 定制URL匹配规则

 

 

历史章节

 

第一章 快速开始

1、Spring Boot之Hello World

2、Spring Boot之Hello World访问404

 

第二章 Spring Boot之JSON

1、spring boot返回json数据

2、Spring Boot完美使用FastJson解析JSON数据

 

第三章 Spring Boot热部署

1、Spring Boot热部署(springloader)

2、springboot + devtools(热部署)

 

第四章 Spring Boot数据库

1、Spring Boot JPA/Hibernate/Spring Data概念

2、Spring Boot JPA-Hibernate

3、Spring Boot Spring Data JPA介绍

4、Spring Boot JdbcTemplate

5、Spring Boot集成MyBatis

 

第五章 web开发

1、全局异常捕捉

2、配置server信息

3、spring boot使用thymeleaf

4、Spring Boot 使用freemarker

5、Spring Boot添加JSP支持

 

第六章 定时任务

1、Spring Boot定时任务

2、Spring Boot 定时任务升级篇(动态修改cron参数)

3、Spring Boot 定时任务升级篇(动态添加修改删除定时任务)

4、Spring Boot 定时任务升级篇(集群/分布式下的定时任务说明)

5、Spring Boot Quartz介绍

6、Spring Boot Quartz在Java Project中使用

7、Spring Boot 集成Quartz普通使用

8、Spring Boot 集成Quartz升级版

9、Spring Boot 集成Quartz二次升级版

10、Spring Boot 集成Quartz-Job如何自动注入Spring容器托管的对象

 

第七章 Spring Boot MyBatis升级篇

1、Spring Boot MyBatis升级篇-注解

2、Spring Boot MyBatis升级篇-注解-自增ID

3、Spring Boot MyBatis升级篇-注解-增删改查

4、Spring Boot MyBatis升级篇-注解-分页查询

5、Spring Boot MyBatis升级篇-注解-分页PageHelper不生效

6、Spring Boot MyBatis升级篇-注解- mybatic insert异常:BindingException: Parameter 'name' not found

7、Spring Boot MyBatis升级篇-注解- #和$符号特别篇

8、Spring Boot MyBatis升级篇-注解-@Result

9、Spring Boot MyBatis升级篇-注解-动态SQL(if test)-方案一:<script>

10、Spring Boot MyBatis升级篇-注解-动态SQL(if test)-方案二:@Provider

11、Spring Boot MyBatis升级篇-注解-动态SQL-参数问题

12、Spring Boot MyBatis升级篇-注解-特别篇:@MapperScan和@Mapper

13、Spring Boot MyBatis升级篇-XML

14、Spring Boot MyBatis升级篇-XML-自增ID

15、Spring Boot MyBatis升级篇-XML-增删改查

16、Spring Boot MyBatis升级篇-XML-分页查询

17、Spring Boot MyBatis升级篇-XML-分页PageHelper不生效

18、Spring Boot MyBatis升级篇-XML-动态SQL(if test)

19、Spring Boot MyBatis升级篇-XML-注解-初尝试

20、Spring Boot MyBatis升级篇- pagehelper替换为pagehelper-spring-boot-starter

 

第八章 Spring Boot 知识点1

1、Spring Boot 拦截器HandlerInterceptor

2、Spring Boot启动加载数据CommandLineRunner

3、Spring Boot环境变量读取和属性对象的绑定

4、Spring Boot使用自定义的properties

5、Spring Boot使用自定义的properties

6、Spring Boot使用@SpringBootApplication

7、Spring Boot 监控和管理生产环境

 

第十章 Spring Boot 打包部署

1、Spring Boot打包部署((提供Linux的sh文件))

 

第十一章 Spring Boot 日志

1、spring boot日志—理论

2、Spring Boot日志-logback

3、Spring Boot日志-log4j2

 

 

分享到:
评论
5 楼 1988南墙之南 2017-10-25  
这里如果 请求的路径和视图的名字取一样的,springboot会报错,他会循环调用
4 楼 ktlqqww 2016-12-20  
请问大神,把应用spring-boot-hello1.zip下载下来打包成jar包出来之后发现访问不了页面,报错

There was an unexpected error (type=Internal Server Error, status=500).
Error resolving template "/helloHtml", template might not exist or might not be accessible by any of the configured Template Resolvers

请问是什么问题?
我在eclipse里面运行正常可访问
3 楼 wheretofindyou2 2016-11-03  
我试了一下thymeleaf和freemarker在一起不好使。我用的版本是1.3.8.RELEASE
2 楼 林祥纤 2016-08-20  
yanglinone1 写道
这里要用  @Controller

害我用@RestController

调半天,发现都返回  /helloHtml 字符串



这是肯定的,基本常识。
1 楼 yanglinone1 2016-08-19  
这里要用  @Controller

害我用@RestController

调半天,发现都返回  /helloHtml 字符串

相关推荐

    从零开始学Spring Boot

    1.21 使用模板(thymeleaf-freemarker) 1.22 Spring Boot 添加JSP支持 1.23 Spring Boot Servlet 1.24 Spring Boot过滤器、监听器 1.25 Spring Boot 拦截器HandlerInterceptor 1.26 Spring Boot启动加载数据...

    从零开始学spring boot

    《从零开始学Spring Boot》是一本面向初学者的指南,旨在帮助编程新手全面理解并掌握Spring Boot这一强大的Java开发框架。Spring Boot是Spring生态系统的一部分,它简化了配置,提供了快速构建应用程序的能力,使得...

    19. [视频]Spring Boot 添加JSP支持【从零开始学Spring Boot】

    以下是一个详细的过程,指导你如何从零开始在Spring Boot应用中集成并使用JSP。 首先,我们需要理解Spring Boot的默认视图解析机制。Spring Boot推荐使用Thymeleaf、Freemarker或Mustache等模板引擎,因为它们提供...

    Spring Boot教程.pdf

    Spring Boot 支持多种模板引擎,如 Thymeleaf、Freemarker 等。 在模板引擎中,我们可以使用 @TemplateEngine 注解来标注模板引擎,并使用模板文件来实现页面的渲染。同时,我们也可以使用模板变量来实现动态数据...

    Spring Boot 系列教程 入门

    总的来说,"Spring Boot系列教程入门"将涵盖以上知识点,并逐步教你如何从零开始搭建和运行一个完整的Spring Boot应用,包括配置、依赖管理、数据访问、Web开发和部署等方面,让你快速成为Spring Boot开发的行家里手...

    Springboot入门到精通完整版.pdf

    2. **Web开发**:学习如何创建RESTful API,使用Thymeleaf、FreeMarker或Velocity模板引擎进行视图渲染,以及处理HTTP请求。 3. **安全**:了解Spring Security的基本原理,如认证和授权,以及如何自定义安全配置。 ...

    Spring boot(一): 入门篇.rar_springboot

    Spring Boot 的目标是让开发者能够快速地从零开始开发项目,而不必关注基础架构的配置。 2. **起步依赖(Starters)**: Spring Boot 的核心特性之一是起步依赖,它们是一系列 Maven 或 Gradle 的依赖模块,用于...

    Spring Boot 系列实战合集.zip

    1. 创建第一个 Spring Boot 项目:从零开始创建一个简单的 "Hello, World!" 应用,理解 Maven 或 Gradle 项目的结构。 2. 使用 Spring Boot 的自动配置:探究如何利用自动配置来简化配置文件。 3. 开发 RESTful API...

    Spring boot基础demo

    Spring Boot是Java开发中的一个流行框架,用于简化Spring应用程序的创建和配置过程。它通过提供预配置的starter pom或gradle...这个demo是一个实践型的学习资源,帮助开发者从零开始接触并掌握Spring Boot的基础知识。

    spring boot中文参考指南

    综上所述,"spring boot中文参考指南"这份文档将涵盖以上各个方面的内容,指导读者从零开始学习Spring Boot,直至掌握构建微服务的关键技能。这份PDF资源对于Spring Boot初学者或是希望提升微服务开发能力的开发者来...

    干净可用spring-boot的项目

    这大大节省了开发者从零开始构建新项目的时间,提高了开发效率。 下面我们将深入探讨Spring Boot的核心特性和主要知识点: 1. **起步依赖(Starter Dependencies)**:Spring Boot通过“起步依赖”管理依赖关系,...

    Roses基于Spring Boot 2,是开源项目Guns的核心支撑层,亦可用于任何java项目支撑内核

    Roses可能预置了这些功能,使得开发者无需从零开始编写。 3. **配置管理**:Roses可能提供了灵活的配置管理,支持多环境配置,方便在不同环境中切换,如开发、测试和生产环境。 4. **模板引擎**:对于视图渲染,...

    SpringBoot官方文档(中文)

    3. **使用Spring Boot开发应用**:涵盖Web应用开发、RESTful API设计、模板引擎(如Thymeleaf和FreeMarker)、安全控制(使用Spring Security)等内容。 4. **数据访问**:涵盖JDBC、NoSQL数据库(如MongoDB)、JPA...

    SpringBoot实战(自带目录)第四版PDF下载

    10. **实战项目**:通过实际案例演示如何从零开始构建一个完整的Spring Boot应用,包括前后端分离、API设计、部署和运维等方面。 阅读本书,不仅可以帮助开发者快速上手Spring Boot,还能深入理解其设计理念,提升...

    SpringBoot实战-清晰

    - **Web开发**:利用Spring MVC,快速构建RESTful API,支持Thymeleaf、FreeMarker等模板引擎进行视图渲染。 - **数据访问**:集成JPA和MyBatis等持久层框架,简化数据库操作。 - **安全控制**:Spring Security...

    primeiro-projeto-spring-boot

    在描述中,“primeiro-projeto-spring-boot”再次强调了这是一个入门级的项目,可能包含了从零开始搭建Spring Boot应用的基本步骤。通常,这样的项目会包括配置文件、核心组件的初始化、以及一些基本的控制器和模板...

    后台模板大全-Shalfen提供

    在Java环境中,后台模板可以与Spring Boot、Spring MVC等框架结合使用,例如Thymeleaf或FreeMarker模板引擎。这些模板引擎能够解析HTML模板文件,动态生成最终的网页内容。对于.NET开发者,ASP.NET Core配合Razor...

    first-spring-boot:tarup的Spring启动作业

    现在,我们将深入探讨Spring Boot的核心概念以及如何从零开始构建一个Spring Boot应用。 首先,Spring Boot的核心特性包括自动配置、起步依赖和内嵌Web服务器。自动配置是Spring Boot的一大亮点,它通过`@...

Global site tag (gtag.js) - Google Analytics