循环:th:each
<!--循环(arr为后台穿的数组,包括id和name值)--> <th:block th:each=‘list,state : ${arr}‘> <li th:text=‘${list.id}‘></li> <li th:text=‘${list.name}‘></li> <li th:text=‘${state.index}‘></li> <!--state.index为循环的索引,从0开始--> <li th:text=‘${state.count}‘></li> <!--state.count为循环的索引,从1开始--> <li th:text=‘${state.size}‘></li> <!--state.size为对象的大小,长度--> <li th:text=‘${state.current}‘></li> <!--state.current迭代的变量--> <li th:text=‘${state.even}‘></li> <!--布尔值,当前循环是否为偶数--> <li th:text=‘${state.odd}‘></li> <!--布尔值,当前循环是否为奇数--> <li th:text=‘${state.first}‘></li> <!--布尔值,当前循环是否为第一个--> <li th:text=‘${state.last}‘></li> <!--布尔值,当前循环是否为最后一个--> </th:block>
《说明》<th:block></th:block> thymealeaf解析时会移除掉此标签对,但不会移除其中的内容。(一般出现在循环和公共引用中)
运算比较符:
gt:great than (大于)> ge:great equal (大于等于)>= eq:equal (等于)== lt:less than (小于)< le:less equal (小于等于)<= ne:not equal (不等于)!=
switch...case...
<!--如果遍历出来的值为张三,则显示‘名叫张三‘--> <!--如果遍历出来的值为李四,则显示‘名叫李四‘--> <th:block th:each=‘list,state :${arr}‘> <li th:switch=‘${list.name}‘> <span th:case=‘张三‘ th:text=‘名叫张三‘></span> <span th:case=‘李四‘ th:text=‘名叫李四‘></span> </li> </th:block>
《说明》满足其中一个条件才会显示对应的值,如果都不满足,则不显示.不同display:block,这里是标签都没有,没有这个元素,上面的if条件也一样
select
<select th:field=‘${sex}‘ th:switch=‘${sex.tostring}‘> <option value="男" th:case=‘男‘ th:selected=‘selected‘>男</option> <option value="女" th:case=‘女‘ th:selected=‘selected‘>女</option> <option value="" >请选择</option> </select>
《说明》后台取的sex数据,如果对应的值为男,则显示‘‘男‘‘,为女则显示‘‘女‘‘,如果为空,则默认显示‘请选择‘
Mybatis开发过程中,在userMapper.xml文件中新建映射sql的标签,模糊查询相关的操作:
<!-- ******************** 模糊查询的常用的3种方式:********************* --> <select id="getUsersByFuzzyQuery" parameterType="User" resultType="User"> select <include refid="columns"/> from users <where> <!-- 方法一: 直接使用 % 拼接字符串 注意:此处不能写成 "%#{name}%" ,#{name}就成了字符串的一部分, 会发生这样一个异常: The error occurred while setting parameters, 应该写成: "%"#{name}"%",即#{name}是一个整体,前后加上% --> <if test="name != null"> name like "%"#{name}"%" </if> <!--方法二: 使用concat(str1,str2)函数将两个参数连接 --> <if test="phone != null"> and phone like concat(concat("%",#{phone}),"%") </if> <!--方法三: 使用 bind 标签,对字符串进行绑定,然后对绑定后的字符串使用 like 关键字进行模糊查询 --> <if test="email != null"> <bind name="pattern" value="‘%‘+email+‘%‘"/> and email like #{pattern} </if> </where> </select>
原文:https://www.cnblogs.com/chenglaoshi/p/13341165.html