thymeleaf 实用的一些操作

今天我分享一下我觉得在使用thymeleaf经常会用的到一些操作。

一、遍历

<div class="card-deck row">
       <!-- 这里的list就是后台传的集合,iterStat你自己取的名字,是个“状态变量”来获取index,count,size...这写属性  -->
         <figure class="card  border-grey " th:each="list,iterStat : ${goodsList}" th:if="${iterStat.count}<=6"> 
               <span th:if="${list.goodsStatus eq 0}">待审核</span><!-- 这里是普通判断-->
                <span th:if="${list.goodsStatus eq 1}">已审核</span>
                <!--这里是一种分割方法, 比如数据存了4张图片的路径,用 逗号分割,你获取第一张图片  -->
               <img th:src="${#strings.substringBefore(list.goodsImg,',')}"  /> 
               <div class="card-body px-0">
                     <h4 class="card-title" th:text="${list.goodsName}"></h4>
                           <span th:text="'销量:'+${list.salesVolume}"></span><br/>
                           <span th:text="'库存:'+${list.stockCount}"></span><br/>
                           <span th:text="'商品编码:'+${list.goodsCode}"></span>
                           <label style="float: right">
                           <!-- 这是 链接待参数取值,传值 -->
                          <a th:href="@{/searchGoodsById/(id=${list.id},businessId=${session.user.id})}"> </a>
                          <a th:href="@{/searchGoodsByIdEdit/(id=${list.id},businessId=${session.user.id})}"></a>
                           </label>
               </div>
        </figure>
    </div>
 </div>

二、JS取值


//这里 th:inline="javascript" 很关键,必须要有.
//跟平常的不同就是多了[[]],两个括号.
//jsp就做不到这个,这是个大区别
<script language="javascript" type="text/javascript" th:inline="javascript">
    var message = [[${goods.goodsContent}]];
</script>

三、字符串处理
截取第一个逗号前的字符串:

<img th:src="${#strings.substringBefore(list.goodsImg,',')}"  />

一些操作:

${#strings.startsWith(name,'o')}    
${#strings.endsWith(name, 'o')}    
${#strings.indexOf(name,frag)}// 下标    
${#strings.substring(name,3,5)}// 截取    
${#strings.substringAfter(name,prefix)}// 从 prefix之后的一位开始截取到最后,比如 (ywj,y) = wj, 如果是(abccdefg,c) = cdefg//里面有2个c,取的是第一个c    
${#strings.substringBefore(name,suffix)}// 同上,不过是往前截取    
${#strings.replace(name,'las','ler')}// 替换    
${#strings.prepend(str,prefix)}// 拼字字符串在str前面    
${#strings.append(str,suffix)}// 和上面相反,接在后面    
${#strings.toUpperCase(name)}    
${#strings.toLowerCase(name)}     
${#strings.trim(str)}    
${#strings.length(str)}    
${#strings.abbreviate(str,10)}// 我的理解是 str截取0-10位,后面的全部用...这个点代替,注意,最小是3位

实用操作,相当与JSTL里的 <forToken>

<div class="card-deck">
 <!-- 这里就是 比如你要处理一个,用逗号拼接的4个路径,这里遍历出4张图片-->
    <figure   th:each="list,iterStat : ${#strings.listSplit(goods.goodsImg,',')}" >
        <img th:src="${list}" />
        <div class="card-body px-0">
            <h4 class="card-title">主图</h4>
        </div>
    </figure>
</div>

恩,基本就这些…在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值