当前位置:网站首页 > R语言数据分析 > 正文

spring教程网站(spring官方教程)



现在虽然Vue、React等前端框架盛行,但是部分需要SEO的页面,还是得用thymeleaf之类的模板引擎来渲染。thymeleaf的官方文档,写的太过详细,显得比较啰嗦。本文主要是把thymeleaf官方的英文文档,结合作者自己的使用经验,整理成了一篇可以用来速查的中文教程,方便大家。其中,一些使用起来不方便或使用频率低的语法,本文直接跳过不写了。

th:text

是最常用的语法,用来将一个字符串赋值到对应的标签内。比如:,意思就是把car这个对象的color填入到a标签内。不过要注意,这里的字符串,不能包含HTML标签,会被转义或过滤。

th:utext

类似上面的,区别是输出的字符串,是可以包含HTML标签、字符的。比如你要把一段HTML字符串填入一个div中,那就必须使用了。

属性赋值

例如:、、等等,和类似的用法,只不过赋值到了对应HTML标签的属性上。PS:thymeleaf支持的属性赋值太多了,有很多使用频率很低。所以记忆常用的就可以,遇到生僻的属性需要赋值,可以先用试试,如果不支持或报错,就用下面的自定义属性赋值来解决

自定义属性赋值

主要用来给HTML标签上,我们自定义的属性赋值。比如

字符串拼接

或者,或者两个变量拼接

格式化日期

,其中time是后端的变量,类型是Java的Date。

内置对象

可以理解为,springboot中的很多基础对象,无需通过赋值,即可在thymeleaf模板中使用。

  • 上下文对象
  • 同 #ctx,表示上下文变量
  • 上下文本地化(特定的地理区域)变量,可参考 java.util.Locale
  • HttpServletRequest 对象,可参考 javax.servlet.http.HttpServletRequest
  • HttpServletResponse 对象,可参考 javax.servlet.http.HttpServletResponse
  • HttpSession 对象,可参考 javax.servlet.http.HttpSession
  • ServletContext 对象,可参考 javax.servlet.ServletContext

以request举例,用法:

 
  

th:if

意思是:当变量a不等于null时,显示这个p标签。最新版的thymeleaf和Springboot中,里面的大于、小于、等于、不等于已经不需要再使用eq、ne、gt、lt等符号了,直接用java代码里的、之类的就可以了。

三元表达式

例如,和Java中的三元表达式类似。部分情况下,三元表达式能很好的弥补thymeleaf只有if没有else的尴尬局面。

th:switch

直接看代码就理解了

 
  

th:each

循环,使用频率非常高。用来将后端传过来的List等,遍历输出。重点提示:所在的标签本身,也会循环。比如你要实现一个ul标签里,循环li标签。那么应该写在li标签上。

 
  

上面的代码中,后端传过来的List是hotArticle,articleData相当于hotArticle这个List里的一项。需要特别注意的是th:each里面那个k,这个变量里包含了很多常用的东西,比如k.index就是循环的index,从0开始。有点像Java代码里for循环里面的i。

赋值给JavaScript变量

一定要在JavaScript的标签里添加,然后用来包围后端变量赋值即可。例如:

赋值给css style

类似赋值给JavaScript,也一定要在标签里添加,然后就可以使用[[]]包围的变量,在css任意地方使用了。可以是css的class,也可以是具体的css属性值。例如:

 
  

模板操作逐渐被淘汰了,主要作用是一些公共页面HTML代码片段的提取,比如header、footer之类的。随着现在webpack等前端工作流的兴起,使用这些工具就可以达到HTML公共代码片段的随处引用。所以,模板操作这里就不讲了。

就是thymeleaf内置的各种函数,比如日期格式化、数字四舍五入、字符串截取、查找、拼接等等。这块根据实际经验,建议也不要大规模应用。有需要数据处理的场景,尽量让后端完成。因为HTML模板中,各种单引号、双引号互相包含,各种标签缩进嵌套等等,很容易造成一些书写上的错误,并且不一定会报错被发现。在HTML代码中大量使用逻辑控制,是一个风险很高的操作。

所以本文尽量只介绍影响数据展示,但不改变数据值的常用预处理:

数字前方补零

结果是

千分位处理

效果,替换为,就可以使用空格分隔。

生成数组-常用于循环输出一些相似数据

 
  

效果如下:

 
  

字符串判空(null或长度=0)

,返回值是Boolean

默认值设置

,当text为null时,使用默认值。

大小写转换

获取字符串长度

还有很多thymeleaf函数可以用来处理后端赋值的变量,但是实际很少使用。主要原因就是上面提到的风险和记忆起来实在困难。thymeleaf的很多语法和java类似,有些又不太一样,所以记忆起来很费劲。

判断list是否为空

  • List不为空:
  • List为空:
  • 获取List的size:
  • 判断list是否包含某个元素:,返回值是boolean

其中,relationData是java传递过来的List数组。

thymeleaf map相关操作

  • map不为空:,返回值是boolean
  • 获取map的size:,返回值是int
  • 判断map是否包含某个key:,返回值是boolean
  • 判断map是否包含某个value:,返回值是boolean

预定义处理函数还有很多很多,这里就不一一列举了。下面给大家提供可以查询这些函数的链接以及使用方法。thymeleaf函数文档,使用方法如下图所示:

到此这篇spring教程网站(spring官方教程)的文章就介绍到这了,更多相关内容请继续浏览下面的相关推荐文章,希望大家都能在编程的领域有一番成就!

版权声明


相关文章:

  • cvpr和iccv哪个好(cvpr和cvpr workshop)2026-01-31 08:09:16
  • rasie的过去式(raise过去式过去分词现在分词)2026-01-31 08:09:16
  • docker开机启动(docker开机启动失败)2026-01-31 08:09:16
  • controller扫描不到(control center4扫描不了)2026-01-31 08:09:16
  • 启动docker-compose服务的命令是(如何启动docker服务)2026-01-31 08:09:16
  • treedms破解版(treesoft破解版)2026-01-31 08:09:16
  • xavier名字(xavier名字来历)2026-01-31 08:09:16
  • pilow和pillow区别(pillow和bolster 区别)2026-01-31 08:09:16
  • spring教程视频推荐(spring教程 csdn)2026-01-31 08:09:16
  • grid布局高度(grid 布局)2026-01-31 08:09:16
  • 全屏图片