栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

day60:thymeleaf

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

day60:thymeleaf

回顾:
1.restful风格
2.软件开发流程:15步
3.根据原型图抽接口,编写接口文档.
4.根据原型图抽数据表(数据存取方便),编写数据库字典文档.

今天内容
1.为什么要使用模板引擎:可以让(网站)程序实现界面与数据分离,业务代码与逻辑代码的分离,这就大大 提升了开发效率,良好的设计也使得代码重用变得更加容易。

2.什么是模板引擎:模板引擎(这里特指用于Web开发的模板引擎)是为了使用户界面与业务数据(内容)分 离而产生的,它可以生成特定格式的文档,用于网站的模板引擎就会生成一个标准的HTML文 档。

3.常用的模板引擎有:Thymeleaf、Velocity、Freemarker几款主流模板.

4.为什么使用thymeleaf:传统的jsp本质上还是java代码,没有很好的做到前后端分离.
而thymeleaf有网络和无网络的环境下皆可运行,即它可以让美工在浏览器查看页面 的静态效果,也可以让程序员在服务器查看带数据的动态页面效果。这是由于它 支持 html 原型,然后在 html 标签里增加额外的属性来达到模板+数据的展示 方式。浏览器解释 html 时会忽略未定义的标签属性,所以 thymeleaf 的模板 可以静态地运行;当有数据返回到页面时,Thymeleaf 标签会动态地替换掉静态 内容,使页面动态显示。
所以spring boot底层默认使用thymeleaf.

4.thymeleaf:是一个XML/XHTML/HTML5模板引擎,用于展示数据和生成基于文本的文件,也是Spring Boot 官 方推荐的Java模版引擎框架,其文件扩展名为.html。它还提供一个模块用于与Spring MVC 集成作为视图层使用。

5.thymeleaf的使用步骤:
第一步:导入依赖包:

			
  
      org.thymeleaf
      thymeleaf
      3.0.11.RELEASE
  
  
      org.thymeleaf
      thymeleaf-spring5
      3.0.11.RELEASE
  

第二步:在springmvc的配置文件的视图解析器前面配置

		

    
    
    
    
    
    
    
    



    



    
    


	第三步:在html页面中引入名称空间才能用
		
		

6.thymeleaf常用th属性
注意:idea对表达式默认是要检查的,生成注释,报红线.
关闭idea对thymeleaf的表达式的检查:

	eg:




    
    Title


    
    

姓名:

年龄:

学生姓名:

学生角色

老师角色

7.thymeleaf标准表达式语法

7.1:${…} 变量表达式,Variable expressions
7.1.1:可以获取对象的属性和方法
7.1.2:可以使用ctx(上下文),varsctx(上下文),locale(当前地区),request,response, session,servletContext内置对象

7.2:@{…} 链接表达式,link URL expressions 无参: @{/xxx} 有参: @{/xxx(k1=v1,k2=v2)} 对应url结构: xxx?k1=v1&k2=v2 引入本地资源: @{/项目本地的资源路径}
引入外部资源: @{/webjars/资源在jar包中的路径} 列举:第三部分的实战引用会详细使用该表达式
7.3:#{…} 消息表达式,Message expressions 消息表达式一般用于国际化的场景。结构: th:text="#{msg}" 。 会在第三部分的实战详细介绍。

7.4:~{…} 代码块表达式,Fragment expressions 语法:推荐: ~{templatename::fragmentname} 支持: ~{templatename::#id}
注意:模版名,Thymeleaf会根据模版名解析完整路径:/resources/templates/templatename.html,
对应前端的web-inf文件夹下.要注意文件的路径要放在WEB-INF下面。

		eg:/WEB-INF/test2.html
				


    
    Title


    
    
我是千锋人,我爱千锋
我是中国人
/WEB-INF/test3.html 代码块表达式的使用

7.5:*{…} 选择变量表达式,Selection Variable expressions

	eg:

姓名:

年龄:

8.内置方法:
8.1:dates
8.2:numbers
8.3:strings
8.4:objects
8.5:arrays
8.6:lists
8.7:sets
8.8:maps

	eg:


    
    thymeleaf内置方法的使用


    
    
dates日期方法的使用

今天的日期为:

年:

月:

日:

毫秒:

numbers数据方法的使用

保留两位小数:

strings字符串方法的使用

获得字符串的长度:

arrays数组工具类方法的使用

判断一个数组中是否包含某个元素:

lists集合方法的使用

对排好序的list集合进行遍历:

sets集合方法的使用

set集合中元素个数:

maps集合方法的使用

判断map集合中是否包含某个value值:

9.注意:thymeleaf页面的th:xx能加载出来,前提条件是thymeleaf模板引擎及视图解析起用,而目前thymeleaf 的模板引擎及视图解析配置在springmvc的配置文件中,所以只有经过springmvc请求,thymeleaf模 板引擎及视图解析才能加载,才能识别跳转后的thymeleaf页面的th:xx.
注意:用thymeleaf模板跳转出异常报500,可能是路径错了,可能thymeleaf页面代码有误.

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/631546.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号