springboot3笔记第七章视图技术Thymeleaf

动力节点-SpringBoot3第七章

7 视图技术Thymeleaf

Thymeleaf 是一个表现层的模板引擎, 一般被使用在 Web 环境中,它可以处理 HTML, XML、 JS 等文档,简单来说,它可以将 JSP 作为 Java Web 应用的表现层,有能力展示与处理数据。Thyme leaf 可以让表现层的界面节点与程序逻辑被共享,这样的设计, 可以让界面设计人员、业务人员与技术人员都参与到项目开发中。这样,同一个模板文件,既可以使用浏览器直接打开,也可以放到服务器中用来显示数据,并且样式之间基本上不会存在差异,因此界面设计人员与程序设计人员可以使用同一个模板文件,来查看静态与动态数据的效果。

Thymeleaf作为视图展示模型数据,用于和用户交互操作。JSP的代替技术。比较适合做管理系统,是一种易于学习,掌握的。我们通过几个示例掌握Thymeleaf基础应用。创建新的Spring Boot项目Lession19-Admin, Maven构建工具,JDK19。 Spring Web, Thymeleaf , Lombok依赖。包名称:com.bjpowernode.tpl

7.1 表达式

表达式用于在页面展示数据的,有多种表达式语法,最常用的是变量表达式、链接表达式。

表达式作用例子

$ {...}变量表达式,可用于获取后台传过来的值

中国

@ {...}链接⽹址表达式th:href="@{/css/home.css}"

step1:创建首页在static/mian.html静态资源默认放在static目录,Spring Boot按约定,可直接访问。main.html就是普通的HTML文件。

</head><body>  

</body></html>

step2:创建Controller,提供数据给页面

@Controllerpublic class ThymeleafController {  @GetMapping("/exp")  public String exp(Model model){    model.addAttribute("name","动力节点IT培训");    model.addAttribute("address","北京的大兴区");    return "exp";  }  @GetMapping("/link")  public String link(Integer id, String name,Model model){    model.addAttribute("id",id);    model.addAttribute("myname",name);    return "link";  }}

step3:templates/目下创建Thymeleaf的文件

exp.html

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

表达式

  
  
  
  
连接到百度
  连接表达式无参数
  连接表达式传递参数
</body></html>

link.html

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

表达式

  id:
  姓名:
</body></html>

7.2 if-for

Thymeaf同样支持if,for语句的使用。

表达式作用例子

th:if=“boolean表达式”th:if 当条件满足时,显示代码片段。 条件常用boolean表示,true满足,反之不满足。

显示此内容

th:each处理循环,类似jstl中的

step1:main.html增加连接

2.<a href="if-for">if和for</a>

step2:创建UserVO

| @Data  @AllArgsConstructorpublic class UserVO {private Integer id;private String name;private Integer age;}

step3:创建控制器方法

| @GetMapping("if-for")public String ifFor(Model model){UserVO userVO = new UserVO(10, "李四",20);model.addAttribute("user", userVO);List users = Arrays.asList(    new UserVO(11, "张三",21),    new UserVO(12, "周行",22));model.addAttribute("users",users);return "base";}

step4:创建base.html模板页面

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

if,for 表达式

  
    成年了  
  
                                                                          id姓名年龄</body></html>

step5:浏览器访问[MISSING IMAGE: ,  ]

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容