zoukankan      html  css  js  c++  java
  • thymeleaf相关知识

    循环: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>
  • 相关阅读:
    转:.net面试题及答案(一)
    高兴!
    游标中LOCAL的意思
    九度 1333
    在进程槽中为进程分配一个空闲位置并分配一个进程号
    USACO Section 1.2 Milking Cows
    九度 1334
    USACO Section 1.3 Mixing Milk
    USACO Section 1.3 Calf Flac
    USACO Section 1.3 Prime Cryptarithm
  • 原文地址:https://www.cnblogs.com/chenglaoshi/p/13341165.html
Copyright © 2011-2022 走看看