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. localStorage存储对象,sessionStorage存储数组对象

    前言 最近在用angular做商城购物车的功能模块,因为angular的watch监听,数据只要发生变化就能很方便的自动渲染页面.但随即出现的问题是,之前用户操作的样式都会被重置掉. 例如我勾选了几个 ...

  2. springboot redis 缓存跨域丢失问题

    对于前后端分离的项目,在开发阶段经常会遇到跨域的问题. 1.首先,对于后台的处理方式,第一种是用 @CrossOrigin 注解,@crossorigin是后端SpringMVC框架(需4.2版本以上 ...

  3. UVA 1605 Building for UN(思维)

    题目链接: https://cn.vjudge.net/problem/UVA-1605#author=0 /* 问题 设计一个包含若干层的联合国大厦,其中每一层都是等大的网格,每个格子分配给一个国家 ...

  4. C++虚析构函数解析

    当派生类对象从内存中撤销时一般先运行派生类的析构函数,然后再调用基类的析构函数. 如果用new运算符建立的派生类的临时对象,对指向基类的指针指向这个临时对象当用delete运算符撤销对象时,系统执行的 ...

  5. jQuery在线引用地址(全)

    转:https://www.cnblogs.com/lmyau/p/7736269.html 1.官网jquery压缩版引用地址: 3.1.1版本: <script src="http ...

  6. 关于《阿里巴巴Java开发规约》插件的安装与使用

    一.安装 二.idea插件的安装与使用 https://github.com/alibaba/p3c/tree/master/idea-plugin#run-plugin Idea Plugin Pr ...

  7. Linux创建用户等操作

    转自: https://www.linuxidc.com/Linux/2017-06/144916.htm 与大家分享下Linux系统中创建用户.设置密码.修改用户.删除用户的命令,希望对你有所帮助. ...

  8. 一卡通大冒险(hdu2512)

    一卡通大冒险 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Sub ...

  9. volatile关键值

    happens-before原则 我们编写的程序都要经过优化后(编译器和处理器会对我们的程序进行优化以提高运行效率)才会被运行,优化分为很多种,其中有一种优化叫做重排序,重排序需要遵守happens- ...

  10. centos7下docker发布第一个微服务应用(Eureka)

    1.在windows下打包 微服务应用通过maven进行打包,在项目的pom.xml执行mvn clean package,或者直接通过idea或者eclipse进行maven打包 之上操作将在项目的 ...