15 SpringBoot模板引擎

简介: 15 SpringBoot模板引擎

JSP、Velocity、Freemarker、Thymeleaf

SpringBoot推荐的Thymeleaf

语法更简单,功能更强大;

1、引入thymeleaf

2、Thymeleaf使用

只要我们把HTML页面放在classpath:/templates/,thymeleaf就能自动渲染;

使用:

1、导入thymeleaf的名称空间

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

2、使用thymeleaf语法;

3、语法规则

1)、th:text;改变当前元素里面的文本内容;

th:任意html属性;来替换原生属性的值

2)、表达式?

Simple expressions:(表达式语法)
Variable Expressions: ${...}:获取变量值;OGNL;
  1)、获取对象的属性、调用方法
  2)、使用内置的基本对象:
  #ctx : the context object.
  #vars: the context variables.
  #locale : the context locale.
  #request : (only in Web Contexts) the HttpServletRequest object.
  #response : (only in Web Contexts) the HttpServletResponse object.
  #session : (only in Web Contexts) the HttpSession object.
  #servletContext : (only in Web Contexts) the ServletContext object.
  ${session.foo}
  3)、内置的一些工具对象:
  #execInfo : information about the template being processed.
  #messages : methods for obtaining externalized messages inside variables expressions, in the
  same way as they would be obtained using #{…} syntax.
  #uris : methods for escaping parts of URLs/URIs
  #conversions : methods for executing the configured conversion service (if any).
  #dates : methods for java.util.Date objects: formatting, component extraction, etc.
  #calendars : analogous to #dates , but for java.util.Calendar objects.
  #numbers : methods for formatting numeric objects.
  #strings : methods for String objects: contains, startsWith, prepending/appending, etc.
  #objects : methods for objects in general.
  #bools : methods for boolean evaluation.
  #arrays : methods for arrays.
  #lists : methods for lists.
  #sets : methods for sets.
  #maps : methods for maps.
  #aggregates : methods for creating aggregates on arrays or collections.
  #ids : methods for dealing with id attributes that might be repeated (for example, as a result of an iteration).
  Selection Variable Expressions: *{...}:选择表达式:和${}在功能上是一样;
  补充:配合 th:object="${session.user}:
  <div th:object="${session.user}">
    <p>Name: <span th:text="*{firstName}">Sebastian</span>.</p>
    <p>Surname: <span th:text="*{lastName}">Pepper</span>.</p>
    <p>Nationality: <span th:text="*{nationality}">Saturn</span>.</p>
  </div>
  Message Expressions: #{...}:获取国际化内容
  Link URL Expressions: @{...}:定义URL;
  @{/order/process(execId=${execId},execType='FAST')}
  Fragment Expressions: ~{...}:片段引用表达式
  <div th:insert="~{commons :: main}">...</div>
Literals(字面量)
  Text literals: 'one text' , 'Another one!' ,…
  Number literals: 0 , 34 , 3.0 , 12.3 ,…
  Boolean literals: true , false
  Null literal: null
  Literal tokens: one , sometext , main ,…
Text operations:(文本操作)
  String concatenation: +
  Literal substitutions: |The name is ${name}|
Arithmetic operations:(数学运算)
  Binary operators: + , ‐ , * , / , %
  Minus sign (unary operator): ‐
Boolean operations:(布尔运算)
  Binary operators: and , or
  Boolean negation (unary operator): ! , not
Comparisons and equality:(比较运算)
  Comparators: > , < , >= , <= ( gt , lt , ge , le )
  Equality operators: == , != ( eq , ne )
Conditional operators:条件运算(三元运算符)
  If‐then: (if) ? (then)
  If‐then‐else: (if) ? (then) : (else)
  Default: (value) ?: (defaultvalue)
Special tokens:
  No‐Operation: _


目录
相关文章
|
3月前
|
消息中间件 Java Kafka
Spring Boot与模板引擎:整合Thymeleaf和FreeMarker,打造现代化Web应用
【8月更文挑战第29天】这段内容介绍了在分布式系统中起到异步通信与解耦作用的消息队列,并详细探讨了三种流行的消息队列产品:RabbitMQ、RocketMQ 和 Kafka。RabbitMQ 是一个基于 AMQP 协议的开源消息队列系统,支持多种消息模型,具有高可靠性及稳定性;RocketMQ 则是由阿里巴巴开源的高性能分布式消息队列,支持事务消息等多种特性;而 Kafka 是 LinkedIn 开源的分布式流处理平台,以其高吞吐量和良好的可扩展性著称。文中还提供了使用这三种消息队列产品的示例代码。
31 0
|
4月前
|
Java 数据处理 Spring
Spring Boot中的模板引擎选择与配置
Spring Boot中的模板引擎选择与配置
|
5月前
|
Java 数据处理 Spring
Spring Boot中的模板引擎选择与配置
Spring Boot中的模板引擎选择与配置
|
6月前
|
XML Java 开发者
Spring Boot与模板引擎:整合与实战
【4月更文挑战第28天】在开发动态网站或应用时,模板引擎扮演了重要的角色。它们允许开发者将数据和HTML模板合并,从而生成动态的网页。Spring Boot支持多种模板引擎,包括Thymeleaf、Freemarker等。本篇博客将探讨Spring Boot如何整合模板引擎,并通过一个实际例子,展示如何使用Thymeleaf进行网页渲染。
283 0
|
6月前
|
Java
Springboot视图解析与模板引擎~
Springboot视图解析与模板引擎~
|
6月前
|
XML 前端开发 Java
Spring Boot的Web开发之Thymeleaf模板引擎的解析及使用(Thymeleaf的基础语法以及常用属性)
Spring Boot的Web开发之Thymeleaf模板引擎的解析及使用(Thymeleaf的基础语法以及常用属性)
133 0
|
JSON Java 数据格式
SpringBoot3---核心特性---2、Web开发III(模板引擎、国际化、错误处理)
SpringBoot3---核心特性---2、Web开发III(模板引擎、国际化、错误处理)
|
Java PHP Python
Java:SpringBoot 整合 Pebble模板引擎渲染html
Java:SpringBoot 整合 Pebble模板引擎渲染html
263 0
Java:SpringBoot 整合 Pebble模板引擎渲染html
|
Java Spring
Java:SpringBoot 整合 Thymeleaf模板引擎渲染html
Java:SpringBoot 整合 Thymeleaf模板引擎渲染html
205 0
Java:SpringBoot 整合 Thymeleaf模板引擎渲染html
|
Java
Java:SpringBoot 整合 Freemarker模板引擎渲染html
Java:SpringBoot 整合 Freemarker模板引擎渲染html
291 0
Java:SpringBoot 整合 Freemarker模板引擎渲染html