thymleaf的总结使用

spring boot默认的支持thymeleaf渲染

  • 填充内容
th:href=""

包括html标签的一系列属性都可以替换

  • 自定义的属性替换

需要使用到th:attr=""这个属性,比如有以下定义的属性:

<a ids=""></a>

那么可以利用该属性替换掉:

<a ids="" th:attr="ids='5"></a>

如果有多个属性,其中用分号隔开

  • 迭代
    迭代一般用到以下属性:
 <th:block th:each="BlogMessage:${recentBlogList}">

block块里面是需要迭代的代码,迭代有几个状态属性,名字默认是迭代的节点名称加上Stat
例如${BlogMessageStat.size}表示该迭代有多少个节点

<th:block th:each="i:${#numbers.sequence(0,pageNum)}">

该属性代表着需要迭代只知道要迭代多少次但是没有内容情况下,利用该函数,可实现pageNum次迭代

  • 复杂的替换
    例如:
onclick='return addComment.moveForm( "comment-1", "1", "respond", "2518" )'

替换后:
th:onclick="'return addComment.moveForm(&quot;comment-'+${ConmentMessage.id}+'&quot;,&quot;'+${ConmentMessage.id}+'&quot;,&quot;respond&quot;,&quot;'+${postId}+'&quot;)'"
  • 模板以及递归

定义模板:

<th:block th:fragment="conmentList(conmentLists,postId)">
       
       ......
       
       //递归的调用子节点
                <ul class="children">
                    <th:block th:unless="${#lists.isEmpty(ConmentMessage.child)}">
                    //调用,替换
                        <div th:replace="/front/conmentfragment::conmentList(${ConmentMessage.child},${postId})"></div>
                    </th:block>
                    <!-- .children -->
                </ul>
                <!-- #comment-## -->
            </li>
        </th:block>
    </th:block>

模板定义中可以携带参数,用来进行模板的递归或者参数的调用。unless属性代表着除了该属性内满足以外的其他情况都可以进行。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值