thymleaf详细介绍

 

4.1什么是thymleaf

简单说, Thymeleaf 是一个跟 Velocity、FreeMarker 类似的模板引擎,它可以完全替代 JSP 。它有如下三个极吸引人的特点: Thymeleaf 在有网络和无网络的环境下皆可运行,即它可以让美工在浏览器查看页面的静态效果,也可以让程序员在服务器查看带数据的动态页面效果。这是由于它支持 html 原型,然后在 html 标签里增加额外的属性来达到模板+数据的展示方式。浏览器解释 html 时会忽略未定义的标签属性,所以 thymeleaf 的模板可以静态地运行;当有数据返回到页面时,Thymeleaf 标签会动态地替换掉静态内容,使页面动态显示。

4.2如何使用

1)pom.xml中添加thymeleaf依赖,去掉jasper依赖

 

2)controller方法实现跳转到index的逻辑视图里

3)访问时,发现404的错误,即使webapp下有index.jsp,并且springMVC配置的是正确的视图解析器。这是因为,在pom.xml中配置了thymeleaf模块后,视图默认是templates目录下的html。因此,我们在templates目录下创建一个index.html,发现访问正常。(记得取消filter和interceptor的功能)

4.3如何传值

1)用el表达式是无法传值的,更不能用jstl

2)在html的标签上添加th命名空间

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

3)demo html

4) 大多数Thymeleaf属性允许将它们的值设置为或包含表达式,这些表达式有五种类型

4.3变量表达式

    变量表达式就是el表达式,就是上下文变量,从page,request,session,application域中获取变量值。

用th:text来输出内容:

(1)变量

<h3>欢迎页面!欢迎:<span th:text="${key}">默认用户名</span></h3>

a. th:text 用来将内容输出到所在的标签<span>中,替换静态内容“默认用户名”

(3)对象

${}可以分别从request,session,applicatin中获取变量值

3)可以直接传递一个对象

例子:

4.4选择表达式*{…}

选择表达式就像变量表达式一样,只不过对象不是上下文变量,而是先前由th:object指定的对象。

<div th:object="${user}">

  ...

  <span th:text="*{username}">...</span>

  ...

</div>

例子:

4.5消息表达式#{…}

消息表达式可以默认读取resources目录下的messages.properties文件中的内容,通过键来引用这引用这些消息。

(1)在resources目录下创建一个messages.properties,内容如下:

(2)在index.html页面通过消息表达式,可以直接获取.properties文件中的内容

(3)消息表达式可以带参数

    可以通过spring.messages.basename: messages来更改默认读取的配置文件

 

 

  • 5
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值