zoukankan      html  css  js  c++  java
  • 列表前台验空的必要性

    简单描述:今天在写列表查询,不小心,给数据库里的一行数据少写了几个字段值,结果查出来了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

  • 相关阅读:
    警匪游戏规则
    敏捷开发流程总结
    天际PRO-CR16 改装方案
    世界时间(卡西欧电波表24个城市缩写翻译及简介)
    jmeter 获取总的线程数
    linux 重启jmeter服务
    jmeter 生成不重复的手机号
    Python和Java两门编程语言,学习哪个更好?
    JAVA和前端该选哪个?
    2020年Java程序员的就业前景如何?
  • 原文地址:https://www.cnblogs.com/xuchao0506/p/9883756.html
Copyright © 2011-2022 走看看