• 列表前台验空的必要性


    简单描述:今天在写列表查询,不小心,给数据库里的一行数据少写了几个字段值,结果查出来了list,前台遍历的时候,发现日期跑到供应商那一列下边了,行数据都往左侧偏移了两格,找了好久的问题,才发现原来是因为前台遍历后台传过去的数据的时候,遇到空值,并没有用“ ”占位,就是就给每个<td>标签加了一个三目运算符,做是否为空的校验。下边是代码。

    代码:

        //html代码
    <tr th:each="item : ${list}" th:id="${item.assessId}"
    class="trs">
    <td>
    <label class="mt-checkbox mt-checkbox-single mt-checkbox-outline">
    <input type="checkbox" class="checkboxes" th:value="${item.assessId}" name="selectedIds" /> <span></span>
    </label>
    </td>
    <td th:text="${item.userPhone eq null}? '':${item.userPhone}">用户账号</td>
    <div th:switch="${item.assessStatus eq null}? '03':${item.assessStatus}">
    <td th:case="01" th:text="已评价">评价状态</td>
    <td th:case="02" th:text="未评价">评价状态</td>
    <td th:case="03" th:text="''">评价状态</td>
    </div>
    <td th:text="${item.assessRates eq null}? '':${item.assessRates}">评价星级</td>
    <td th:text="${item.assessDesc eq null}? '':${item.assessDesc}">评价内容</td>
    <td th:text="${item.serviceName eq null}? '':${item.serviceName}">服务名称</td>
    <td th:text="${item.supplierName eq null}? '':${item.supplierName}">供应商</td>
    <td th:text="${item.serviceTime eq null}? '':${#strings.substring('__${item.serviceTime}__',0,10)}">服务时间</td>
    </tr>

    说明:黄色部分  评价状态如果值为null,switch就为03 该<td></td>之间的文本就是空字符串,仅仅是为了占位的作用 

    总结:这个内容看似没什么用,但是确实容易带来隐藏的bug

  • 相关阅读:
    Grovvy初识
    在eclipse中安装插件
    解决 APPARENT DEADLOCK!!! Creating emergency threads for unassigned pending tas
    Axis2 webservice入门--Webservice的发布与调用
    一步一步教你自定义博客园(cnblog)界面
    Enum枚举
    并行与并发
    多线程join(加入)
    守护线程
    停止线程
  • 原文地址:https://www.cnblogs.com/xuchao0506/p/9883756.html
Copyright © 2020-2023  润新知