为了不经常鬼畜, 避免来回纠结SpringBoot Thymeleaf语法,总结一下常用语法方便之后自己查询使用。
模板标志: th:
js如果有Thymeleaf模板语法,一定在“script”标签中加入识别 th:inline=“javascript”,即:
<script th:inline="javascript">
let aRoomTypeList = [[${paveDesignDTO.roomType}]];
let aStyleList=[[${paveDesignDTO.style}]];
let aInterestList=[[${paveDesignDTO.interest}]];
</script>
- 后台直接返回的Map数据, 总是会自带小数点,去掉语法:
${#numbers.formatInteger(paveDesignConfig.minLength,0)}
其中paveDesignConfig.minLength是要处理的参数,0指的是需要保留几位小数,可以对数据进行判断并且处理显示:
<span th:text="${paveDesignConfig.minLength}==null?'':${#numbers.formatInteger(paveDesignConfig.minLength,0)}+' mm'"></span>
- th:each数据取值语法:
简易代码:
<div class="" th:if="${paveRuleDTO.type} == 2" th:each="imgList :${paveRuleDTO.paveRuleImgList}">
<div class="fl prevImgBox">
<div th:class="${imgList.pcThumbnail}==null?'fl preview-box':(${imgList.pcThumbnail}==''?'fl preview-box':'fl preview-box hasVal')">
<img th:src="${imgList.pcThumbnail}==null?'':${imgList.pcThumbnail}" alt="背景图片"/>
</div>
<div class="btn btn-default removeBg" th:onclick="|javascript:removeBg(this)|"></div>
</div>
</div>
<div th:each="imgList :${paveRuleDTO.paveRuleImgList}"></div>
/*修改成*/
<div th:each="item, imgList :${paveRuleDTO.paveRuleImgList}"></div>
取值可用${item.id}, ${item}是当前元素
其中imgList 对象有以下几种属性:
index:从0开始的角标
count:元素的个数,从1开始, 第count个
size:总元素个数
current:当前遍历到的元素
even/odd:返回是否为奇偶,返回true/false
first/last:返回是否为第一或最后,返回true/false
- **th:if **,多重判断
th:if="${paveDesignConfig.waveguideLineInnerDetails!=null and paveDesignConfig.isUseWaveguideLine==1}"
待续……