其他分享
首页 > 其他分享> > Thymeleaf

Thymeleaf

作者:互联网

 

thymeleaf的使用

### 原理

了解MVC

逻辑视图

物理视图=视图前缀+逻辑视图+视图后缀

上面的例子中:

视图前缀逻辑视图视图后缀物理视图
/pages/user/ login .html /pages/user/login.html
/pages/user/ login_success .html /pages/user/login_success.html

使用步骤

第二章 Thymeleaf的基本语法

  1. th:text="标签体新值"

    • 不经过服务器解析,直接用浏览器打开HTML文件,看到的是『标签体原始值』

    • 经过服务器解析,Thymeleaf引擎根据th:text属性指定的『标签体新值』去替换『标签体原始值』

  2. 修改指定属性值

    • 例子

      <input type="text" name="username" th:value="文本框新值" value="文本框旧值" />
    • 语法:任何HTML标签原有的属性,前面加上『th:』就都可以通过Thymeleaf来设定新值。

  3. 解析url地址

    • 所以@{}的作用是为字符串附加『上下文路径』

    • ​ 作用很大 ​
  4. 获取请求参数

    • ${param.参数名}

    • <p th:text="${param.username}">这里替换为请求参数的值p>

       

  5. 内置对象

    • 内置对象在Thymeleaf中可以直接使用

    • img021

    • 使用方法:在表达式中 #内置对象.方法

    • 如果不清楚这个对象有哪些方法可以使用,那么就通过getClass().getName()获取全类名,再回到Java环境查看这个对象有哪些方法

    • 内置对象的方法可以直接调用

    • 调用方法时需要传参的也可以直接传入参数

  6. Object-Graph Navigation Language

    • 概念:从根对象触发,通过特定的语法,逐层访问对象的各种属性。

    • 在Thymeleaf环境下,${}中的表达式可以从下列元素开始:

      • 访问属性域的起点

        • 请求域的属性名

        • session

        • application

      • param

      • 内置对象

        • request

        • session

        • lists

        • strings

    • 属性访问语法

      • 访问对象属性 对象.属性名

      • 访问list集合或者数组 集合或数组[下标]

      • 访问Map集合

        • Map集合['key']

        • Map集合.key

    • 分支与迭代

      • if和unless 根据条件决定对象是否显示

        • 例子:th:if="${book.isUsed}"

        • 例子:th:unless="${book.isUsed}"

    • switch

      <h3>测试switchh3>
      <div th:switch="${user.memberLevel}">
         <p th:case="level-1">银牌会员p>
         <p th:case="level-2">金牌会员p>
         <p th:case="level-3">白金会员p>
         <p th:case="level-4">钻石会员p>
      div>

       

    • 迭代

      • 用法:使用th:each遍历 用法:

        1. th:each写在什么标签上? 每次遍历出来一条数据就要添加一个什么标签,那么th:each就写在这个标签上

        2. th:each的语法 th:each="遍历出来的数据,数据的状态 : 要遍历的数据"

        3. status表示遍历的状态,它包含如下属性: index 遍历出来的每一个元素的下标 count 遍历出来的每一个元素的计数

      • 例子 :

            
        <table>    
        <tbody
               
                   <td th:text="${status.count}">这里显示编号td>
                   <td th:text="${teacher.teacherName}">这里显示老师的名字td>
               tr>
           tbody>
        table>
      •  

标签:对象,视图,templateResolver,Thymeleaf,HTML,th,import
来源: https://www.cnblogs.com/hlblc/p/15515887.html