JSP 已经存在很长时间了,很多公司还在用,它看起来像 HTML,但其实并不是,它有一些缺陷。比如,

每个页面顶部都需要有如下声明

与 Servlet 规范紧密耦合的,依赖 Servlet 容器(意味着无法直接浏览效果)。

工作过的几家公司,凡是有前端的,工作方式都是给前端安装 Java 开发环境,让前端在自己电脑上启动 Servlet 容器浏览效果。这样的方式,致使后端老是帮前端解决 Java 开发环境问题,还限制了前端在开发工具上的选择,很影响工作效率。

所以,就想到了 Thymeleaf。

第一听说 Thymleaf 是 在 2015 年,一直想在工作中应用起来,这次终于有机会了。

使用 Thymeleaf,前端可以任意选择一款趁手的开发工具,浏览效果不需要再启动 Servlet 容器。

Thymeleaf,可以认为它就是 HTML,它没有像 JSP 那样的标签库。它是通过自定义命名空间为HTML 标签添加 Thymeleaf 属性。使用 Thymeleaf 的页面,只需要声明命令空间,来看一个简单的页面。

除了 th:href 属性,其他的跟原生 HTML 完全一样,Thymeleaf 命名空间中很多属性都对应标准 HTML 属性,并且具有相同的名字,但是会渲染一些计算后得到的值。

现在举几个简单的例子对比一下 JSP 和 Thymealf 使用上的不同:

JSP 获取相对 URL

Thymeleaf 获取相对 URL

JSP 遍历 List

Thymeleaf 遍历 List

thymealf 高级用法_Thymeleaf相关推荐

  1. thymealf 高级用法_史上最详 Thymeleaf 使用教程

    前言 操作前建议先参考我的另一篇博客:玩转 SpringBoot 2 快速整合 | Thymeleaf 篇 查看如何在SpringBoot 中使用 Thymeleaf.还有一点需要注意的是:模版页面中 ...

  2. vim的高级用法配置以及在系统中如何获取帮助

    vim的高级用法配置以及在系统中如何获取帮助 1 vim的三种模式 1.1 使用方法 1.2 vim模式 2 vim工作的基本配置 2.1 临时设定(set设定) 2.2 永久设定方式 3 搜索 4 ...

  3. Cacti Weathermap 高级用法 (二)

    成都长宽Weathermap实际运用的效果图示例: 这是一个CNC出口的质量监控图. 途中cnc节点(红色)是一个展示图例,TEL节点根据存活状态显示为绿色 TEL节点上面P:47.2ms 是一个,这 ...

  4. JAVA正则表达式高级用法(分组与捕获)

    2019独角兽企业重金招聘Python工程师标准>>> 正则表达式在字符串处理中经常使用,关于正则简单的用法相信有一点程序基础的人都懂得一些,这里就不介绍简单基础了.这里主要讲解一下 ...

  5. GUN sed高级用法,sed脚本编写

    这里举一些sed常用的高级用法例子经供参考: 一下操作都针对file.txt文件作修改 [root@QX-××× ~]# cat file.txt libgcc-4.4.7-4.el6.x86_64 ...

  6. java return用法_Java枚举的高级用法之多键值的映射使用

    枚举Enum单映射使用 做Java的各位仁兄姐妹都知道,Java通过HashMap,以及枚举提供了方便的K-V映射功能,例如 枚举单映射使用 但是如果遇到多个键值映射,例如K-K-V的形式怎么办呢?可 ...

  7. (转)python requests 高级用法 -- 包括SSL 证书错误的解决方案

    (转)python requests 高级用法 -- 包括SSL 证书错误的解决方案 参考文章: (1)(转)python requests 高级用法 -- 包括SSL 证书错误的解决方案 (2)ht ...

  8. Python 内置函数sorted()在高级用法

    对于Python内置函数sorted(),先拿来跟list(列表)中的成员函数list.sort()进行下对比.在本质上,list的排序和内建函数sorted的排序是差不多的,连参数都基本上是一样的. ...

  9. class() 高级用法 -- lua

    class() 高级用法 class() 除了定义纯 Lua 类之外,还可以从 C++ 对象继承类.比如需要创建一个工具栏,并在添加按钮时自动排列已有的按钮,那么我们可以使用如下的代码:-- 从 CC ...

最新文章

  1. 【PHPWord】列表ListItem
  2. 文档管理服务器文件的脱机编辑选项无法编辑,让MOSS2007文档的存取更具个性
  3. img下出现几像素空白的问题
  4. rest_framework12:多登陆方式与自动签发token/配置过期时间
  5. 深入研究memcache 特性和限制
  6. html绘制位图,Canvas 绘制位图图像 ImageBitmap
  7. 10折交叉验证深入理解
  8. windows下的Oracle数据库安装教程
  9. 可控硅工作原理及参数详解
  10. linux服务源码安装ruby
  11. oracle minus intersect,minus,oracle中INTERSECTMINUS用法
  12. vs2017错误:当前页面的脚本发生错误
  13. 【图像增广库imgaug】官方文档翻译(一):加载并增强图片
  14. 自然语言16_Chunking with NLTK
  15. 在matlab中画收敛域,已知用下列差分方程描述的一个线性移不变因果系统(用MATLAB方法求解)。y(n)=y(n-1)+y(n-2)十x(n-1.. - 上学吧找答案...
  16. Java+Selenium+Junit demo
  17. 一个差劲程序员的历程(一)
  18. 关注新技术,打破自满
  19. ADSL拨号中错误代码解决办法
  20. 致敬博士-博士学位真的那么重要吗

热门文章

  1. 汉字转html实体符号js_html实体编码遇上js代码
  2. java string 日期_java string类型日期比较
  3. java+fseek+函数_函数fseek() 用法(转)
  4. qt使用样式表来设置不规则按钮
  5. Python type函数和isinstance函数区别 - Python零基础入门教程
  6. js(javascript)之浏览器控制台使用
  7. CTF-杂项题-伪加密
  8. html文字竖直书写,css 文字竖直居中的写法和图片垂直居中代码(图文)
  9. 安装教程rtx2080ti_点云深度学习环境配置指南(一)Ubuntu16.04+RTX2080ti
  10. opencv 的norm_22、OpenCV用卷积Filter2D进行滤波器