thymeleaf模板的使用

1,thymeleaf概述

简单说, Thymeleaf 是一个跟 Velocity、FreeMarker 类似的模板引擎,它可以完全替代 JSP 。相较与其他的模板引擎,它有如下三个极吸引人的特点:

1、Thymeleaf 在有网络和无网络的环境下皆可运行,即它可以让美工在浏览器查看页面的静态效果,也可以让程序员在服务器查看带数据的动态页面效果。这是由于它支持 html 原型,然后在 html 标签里增加额外的属性来达到模板+数据的展示方式。浏览器解释 html 时会忽略未定义的标签属性,所以 thymeleaf 的模板可以静态地运行;当有数据返回到页面时,Thymeleaf 标签会动态地替换掉静态内容,使页面动态显示。

2、Thymeleaf 开箱即用的特性。它提供标准和spring标准两种方言,可以直接套用模板实现JSTL、 OGNL表达式效果,避免每天套模板、该jstl、改标签的困扰。同时开发人员也可以扩展和创建自定义的方言。

3、Thymeleaf 提供spring标准方言和一个与 SpringMVC 完美集成的可选模块,可以快速的实现表单绑定、属性编辑器、国际化等功能。



Spring Boot项目Thymeleaf模板页面存放位置

查看ThymeleafAutoConfiguration

查看ThymeleafProperties



thymeleaf前后缀的配置 默认前缀为  classpath:/templates/   后缀是   .html



4,通过Controller跳转到Thymeleaf的页面

http://localhost:8080/index/hello



访问  http://localhost:8080/index/userManager



 如何修改Thymeleaf的默认存放地址



Thymeleaf的相关语法

1,简单表达式   

1、变量的表达式:${...}     取作域里面的值   Model

2、选择变量表达式:*{...}

3、信息表达式:#{...}     #取IOC容器里面的值

4、链接URL表达式:@{...}   <a href="user/query.action">       <a th:href="@{user/query.action}"  Href   Actio   Src

2,字面值  th:text

1、文本文字:'one text', 'Another one!',…

2、文字数量:0, 34, 3.0, 12.3,…

3、布尔型常量:true, false

4、空的文字:null

5、文字标记:one, sometext, main,…

3,文本处理

1、字符串并置:+

2、文字替换:|The name is ${name}|

4,表达式基本对象

1、#ctx:上下文对象

2、#vars:上下文变量

3、#locale:上下文语言环境

4、#httpServletRequest:(只有在Web上下文)HttpServletRequest对象

5、#httpSession:(只有在Web上下文)HttpSession对象。

用法:<span th:text="${#locale.country}">CN</span>.

5,实用工具对象 

#dates: java.util的实用方法。对象:日期格式、组件提取等.

#calendars:类似于#日期,但对于java.util。日历对象

#numbers:格式化数字对象的实用方法。

#strings:字符串对象的实用方法:包含startsWith,将/附加等。

#objects:实用方法的对象。

#bools:布尔评价的实用方法。

#arrays:数组的实用方法。

#lists:list集合。

#sets:set集合。

#maps:map集合。

#aggregates:实用程序方法用于创建聚集在数组或集合.

#messages:实用程序方法获取外部信息内部变量表达式,以同样的方式,因为它们将获得使用# {…}语法

#ids:实用程序方法来处理可能重复的id属性(例如,由于迭代)。



Thymeleaf读取xxx.properties里面的对象【了解】国际化

修改application.properties

创建showStudent.html

<!DOCTYPE html>
<html lang="en" xmlns:th="http://www.thymeleaf.org">
<head><meta charset="UTF-8"><title>Title</title><link rel="stylesheet" href="/layui/css/layui.css"  media="all">
</head>
<body><fieldset class="layui-elem-field layui-field-title" style="margin-top: 20px;"><legend>学生信息</legend>
</fieldset>
<div style="padding: 20px; background-color: #F2F2F2;"><div class="layui-row layui-col-space15"><div class="layui-col-md6"><div class="layui-card"><div class="layui-card-body"><span>学生编号:</span><span th:text="#{student.id}"></span><br><span>学生姓名:</span><span th:text="#{student.name}"></span><br><span>学生年龄:</span><span th:text="#{student.age}"></span><br><span>学生性别:</span><span th:text="#{student.sex}"></span><br><span>学生生日:</span><span th:text="#{student.birth}"></span><br><span>学生电话:</span><span th:text="#{student.phone}"></span><br></div></div></div></div>
</div><!--<div th:text="#{welcome('小明','WHSXT')}">--></div><script src="/layui/layui.js" charset="utf-8"></script>
</body>
</html>

出现的问题

解决办法创建I18NConfig

thymeleaf模板的使用——1,thymeleaf概述|| thymeleaf 的使用方法|| 如何修改Thymeleaf的默认存放地址||Thymeleaf的相关语法相关推荐

  1. thymeleaf模板引擎

    文章目录 前言 一.thymeleaf是什么? 二.使用步骤 1.导入坐标 2.Spring Boot项目中创建controller 3.分析源码 4.配置success.html 5.启动主配置文件 ...

  2. Spring Boot系列之Thymeleaf模板布局

    PS:原文首发于微信公众号:躬行之(jzman-blog) 前面几篇文章尝试了接口开发.Thymeleaf 模板及其常用语法,阅读本文之前可以阅读前面几篇: Spring Boot系列之开发一个接口 ...

  3. thymeleaf 调用java,thymeleaf模板引擎调用java类中的方法(附源码)

    前言 由于开源了项目的缘故,很多使用了My Blog项目的朋友遇到问题也都会联系我去解决,有的是把问题留在项目的issue里提出,有的是在我的私人博客里留言,还有的则是直接添加我的qq来找我讲自己遇到 ...

  4. Thymeleaf模板使用实例+模板分页

    1. 概述 在web开发中,我们经常会将公共头,公共尾,菜单等部分提取成模板供其它页面使用.在thymeleaf中,通过th:fragment.th:include.th:replace.参数化模板配 ...

  5. 第4章 使用Thymeleaf模板引擎

    开心一笑 [女人很简单,假如你惹她生气了,那么你必须为自己的愚蠢而道歉. 假如她惹你生气了,那么你必须为自己生气而道歉.] 新书购买 戳图购买 >>> 4.1 Thymeleaf模板 ...

  6. SpringBoot thymeleaf使用方法,thymeleaf模板迭代

    SpringBoot thymeleaf使用方法,thymeleaf模板迭代 SpringBoot thymeleaf 循环List.Map ============================= ...

  7. Springboot 使用thymeleaf模板layout布局

    使用layout布局前应该在pom文件中导入thymeleaf(dialect)依赖:如下 <properties><project.build.sourceEncoding> ...

  8. 【Bug档案01】Spring Boot的控制器+thymeleaf模板 -使用中出现静态资源加载路径不当的问题 -解决时间:3h

    [Bug档案01]Spring Boot的控制器+thymeleaf模板 -使用中出现静态资源加载路径不当的问题 -解决时间:3h 参考文章: (1)[Bug档案01]Spring Boot的控制器+ ...

  9. springboot 入门教程(4)--web开发(spring mvc和Thymeleaf模板,带源码)

    2019独角兽企业重金招聘Python工程师标准>>> 首先回顾下前几篇的内容:springboot 入门教程(1),springboot 入门教程-Thymeleaf(2), sp ...

最新文章

  1. iptables命令语法(3)
  2. DataSource--DBCP--C3P0--DBUtils
  3. Java SE 11:推动Java向前发展
  4. datatable 动态显示/隐藏列
  5. 95-290-055-源码-内存管理-HybridMemorySegment
  6. leetcode题解102-二叉树的层序遍历
  7. tp5 mysql定时任务_tp5+mysql实现消息队列,并在mac系统下定时执行-Go语言中文社区...
  8. JS弹出框插件zDialog再次封装
  9. phone html5,[操作系统]HTML5 On Windows Phone (2) windows phone mango上使用HTML5并与HTML5交互...
  10. C++ Primer Plus 第二章编程练习
  11. 台湾省谷歌高清卫星地图下载
  12. 【FXCG】如何成功启动SWOT分析法
  13. 爬取相关机构电话号码及地址
  14. KubernetsPod分析
  15. 深度学习: 深度学习框架 横向对比
  16. android 横竖切换demo,移动页面横竖屏切换提示 - 轩枫阁
  17. python中break和continue区别_Python break和continue用法及区别
  18. 《Python网络爬虫从入门到实践 第2版》第14章 爬虫实践一:维基百科
  19. 怎么设计好链游的经济模型?先看看传统游戏是如何抑制通货膨胀问题的
  20. oracle批处理参数调用,Oracle数据库定时自动备份批处理代码(Windows)

热门文章

  1. BZOJ4300 绝世好题(动态规划)
  2. 在Docker中体验数据库之MySql
  3. Reactjs相比较原生方案是绝对的快吗?哪些情况下React有优势
  4. nginx 网站目录重写
  5. Android之UI控件
  6. 设计模式学习--------3.简单工厂模式学习
  7. linux下通过yum安装svn及实现SVN与WEB同步解决方案[阿里云]
  8. C++CTime使用方法
  9. WF4.0入门系列1——创建一个简单的工作流
  10. 怎么卸载Apache_pn服务-PHPnow使用问题