如果不是空值,如何在eleaf表上显示一些内容

2ekbmq32  于 2021-07-18  发布在  Java
关注(0)|答案(1)|浏览(286)

我有一张table:

<table>
 <thead>
   <tr>
    <th>Header1</th>
    <th>Header2</th>
   </tr>
 </thead>
 <tbody>
  <div th:if="${param1 != null}">
    <td class="dripicons-checkmark"></td>
  </div>
  <div th:if="${param2 != null}">
    <td class="dripicons-checkmark"></td>
  </div>
 </tbody>
</table>

param1和param2来自我的控制器:

model.addAttribute("param1", param1)
model.addAttribute("param2", param2)

…他们可以 null 或者包含一些信息。我想在正确的标题下显示一个复选标记。如果 param1 不是 null ,我想在下面显示复选标记 Header1 如果 param2 不是 null ,我想在下面显示复选标记 Header2 等等。上面的代码显示复选标记总是在下面 Header1 ,如果其中一个参数不为null。如何将图标放在正确的标题下?

wnvonmuf

wnvonmuf1#

如果你的任何一个情人 null ,则只创建一个 <td> 房间里的牢房 <tr> 行。您的表总是需要两个单元格来匹配您的两个标题。
有很多方法可以解决这个问题。以下是一种方式,我认为它相当简洁:

<tbody>
    <td th:class="${param1} != null ? 'dripicons-checkmark' : null"></td>
    <td th:class="${param2} != null ? 'dripicons-checkmark' : null"></td>
</tbody>

在这个例子中,我们总是有两行单元格。
“if”条件在 th:class 属性,因此不需要任何 <div> 元素。
当第一个值为空,但第二个值不为空时,由此生成的html如下:

<table>
    <thead>
        <tr>
            <th>Header1</th>
            <th>Header2</th>
        </tr>
    </thead>
    <tbody>
        <tr>
            <td></td>
            <td class="dripicons-checkmark"></td>
        </tr>
    </tbody>
</table>

相关问题