Spring Boot 建议使用 HTML 来完成动态页面。Spring Boot 提供了大量的模版引擎,包括 Thymeleaf、FreeMarker、Velocity等。

Spring Boot 官方推荐使用 Thymeleaf 模版引擎来完成动态页面,并且为 Thymeleaf 提供了完美的 Spring MVC 的支持,Thymeleaf模版引擎可以支持纯 HTML 浏览器展现。

Thymeleaf 概述

Thymeleaf 是面向Web和独立环境的现代服务器端Java模版引擎,能够处理HTML、XML、JavaScript、CSS甚至纯文本,可以作为 MVC Web 应用层的 View 层显示数据。

Thymeleaf 标准语言中的大多数处理器都是属性处理器。这样,即使在模版未被处理前,浏览器也可以正确的显示 HTML 模版文件,因为浏览器将简单地忽略其不识别的属性。例如,像下面这段JSP模版的代码片段就不能在模版被解析之前通过浏览器直接显示。

<form:inuptText name="username" value="${user.username}">

然而 Thymeleaf 标准方言将允许实现与上述代码相同的功能。

<input type="text" name="username" value="java" th:value="${user.username}">

浏览器不仅可以正常显示这些信息,而且还可以在浏览器中静态打开时显示一个默认的值,在模版处理期间由 ${user.username}的值代替value的默认值。这样有助于设计师和开发人员处理相同的模版文件,并减少将静态原型转换为工作模版文件所需的工作量。具备这种能力的模版被称为自然模版。

Thymeleaf 基础语法

首先要改写html标签

<html xmlns:th="http://www.thymeleaf.org">

这样才可以在其他标签里面使用th:*这样的语法。

通过xmlns:th="http://www.thymeleaf.org"命名空间,引入 Thymeleaf 模版引擎,将静态页面转换为动态页面。需要进行动态处理的元素都使用 th: 为前缀。

引入URL

Thymeleaf 对于 URL 的处理是通过语法 @{...} 来处理。

<a th:href="@{http://google.com}">绝对路径</a>
<a th:href="@{/}">相对路径</a>
<a th:href="@{css/bootstrap.min.css}">Content 路径,默认访问 static 下的 css 文件夹</a>

表达式

由一些专门的表达式,用来从模版中的 WebContext 获取请求参数、请求、会话和应用程序中的属性。

${x} 将返回存储在 Thymeleaf 上下文中的变量 x 或请求 Request 作用域中的属性。

${param.x}将返回一个名为x的请求参数

${session.x}将返回一个名为x的会话 HttpSession 作用域中的属性。

${application.x}将返回一个名为x的全局 ServletContext 上下文作用域中的属性。

获取变量使用 $ 符号,$表达式只能写在 th 标签内部,否则不会生效。

Spring Boot 集成 thymeleaf 模版引擎的更多相关文章

  1. Spring Boot整合 Thymeleaf 模板引擎

    什么是Thymeleaf Thymeleaf是一款用于渲染XML.XHTML.HTML5内容的模板引擎.类似Velocity,FreeMaker模板引擎,它也可以轻易的与Spring MVC等Web框 ...

  2. Spring Boot整合Thymeleaf模板引擎

    什么是Thymeleaf Thymeleaf是一款用于渲染XML.XHTML.HTML5内容的模板引擎.类似Velocity,FreeMaker模板引擎,它也可以轻易的与Spring MVC等Web框 ...

  3. Spring Boot集成Thymeleaf

    Thymeleaf是一个java类库,是一个xml/xhtml/html5的模板引擎,可以作为mvc的web应用的view层.Thymeleaf提供了额外的模块与Spring MVC集成,所以我们可以 ...

  4. Spring Boot2(五):使用Spring Boot结合Thymeleaf模板引擎使用总结

    一.Thymeleaf概述 一般来说,常用的模板引擎有JSP.Velocity.Freemarker.Thymeleaf . SpringBoot推荐的 Thymeleaf – 语法更简单,功能更强大 ...

  5. Spring Boot☞ 使用Thymeleaf模板引擎渲染web视图

    静态资源访问 在我们开发Web应用的时候,需要引用大量的js.css.图片等静态资源. 默认配置 Spring Boot默认提供静态资源目录位置需置于classpath下,目录名需符合如下规则: /s ...

  6. spring boot 使用thymeleaf模版 报错:org.thymeleaf.exceptions.TemplateInputException

    错误: org.thymeleaf.exceptions.TemplateInputException: Error resolving template "Hello", tem ...

  7. spring boot 集成 thymeleaf

    例如meta标签,低版本标签必须要闭合,高版本不用这么严格. pom文件引入高版本jar包如下,propertis里添加:

  8. spring boot 集成Thymeleaf

                                           

  9. Spring Boot:Thymeleaf篇

    Spring Boot干货系列:(四)Thymeleaf篇http://www.cnblogs.com/zheting/p/6707037.html 前言 Web开发是我们平时开发中至关重要的,这里就 ...

随机推荐

  1. tcp/ip通信中udp头部结构udphdrp->check校验计算

    通过raw socket修改通信数据后,可通过函数 set_udp_checksum1 重新校验计算iph->check值 在http://www.cnblogs.com/dpf-10/p/78 ...

  2. 1657 Distance on Chessboard(简单计算题)

    描述 国际象棋的棋盘是黑白相间的8 * 8的方格,棋子放在格子中间.如下图所示:王.后.车.象的走子规则如下: 王:横.直.斜都可以走,但每步限走一格. 后:横.直.斜都可以走,每步格数不受限制. 车 ...

  3. c#数据库设计--1、概述

    一.数据库设计的概念 数据库设计是将数据库中的数据实体及这些数据实体之间的关系,进行规划和结构化的过程. 二.数据库设计的重要性 设计决定代码量,一将不行,累死三军. 如果一个数据库没有进行一个良好的 ...

  4. Magic Number (zoj3622)

    Magic Number (zoj3622) Time Limit : 4000/2000ms (Java/Other)   Memory Limit : 65536/32768K (Java/Oth ...

  5. Mybatis的自动映射autoMappingBehavior与mapUnderscoreToCamelCase

    autoMappingBehavior 在Mybatis的配置文件中添加settings属性的autoMappingBehavior <settings> <setting name ...

  6. Linux常用基本命令(cat)

    cat命令 作用:连接多个文件并且打印到屏幕输出,或者重定向到其他文件,也可以用来查看显示单个文件,或者多个文件. 格式: cat [option] [file] 1,最简单的用法,直接跟文件名称,查 ...

  7. php+redis实战留言板(todolist)与互粉功能

    目的:通过留言板(todolist)与互粉功能,掌握php操作redis的方法 相关数据操作命令 1,keys * 查看数据库所有的key 2,type + key: 如 type uid     查 ...

  8. Input type=number 样式清除

    /* 普通IE浏览器 样式清除 */ input::-webkit-outer-spin-button,input::-webkit-inner-spin-button{ -webkit-appear ...

  9. Difference between nn.softmax & softmax_cross_entropy_with_logits & softmax_cross_entropy_with_logits_v2

    nn.softmax 和 softmax_cross_entropy_with_logits 和 softmax_cross_entropy_with_logits_v2 的区别   You have ...

  10. php实现头像预览上传功能

    最近在做php第二阶段的项目,需要用到头像上传的功能 我们要完成头像上传功能,一共要写两个php页面,第一个页面我们叫做touxiang.php,第二个页面我们叫做upload.php 1.touxi ...