为什么Thymeleaf桌子会产生差距?

时间:2016-11-16 20:35:40

标签: thymeleaf

当我使用下面的代码时,为什么我的百里香叶子会产生如此大的差距。

BAD/WARNING
</h3>
<h3>
APPLICATION PROCESSING
</h3>
<table class="tablebad">
    <tr>
        <th> Status </th>
        <th> HostName </th>
        <th> Process Name </th>
        <th> Process Count </th>
    </tr>
        <tr th:each="DartModel, iterStat : ${countlist}">
        <td th:if ="${DartModel.Status == 'BAD'}" th:text="${DartModel.Status}"></td>
         <td th:if="${DartModel.Status == 'BAD'}" th:text="${DartModel.host}"></td>
        <td th:if="${DartModel.Status == 'BAD'}"  th:text="${DartModel.processName}"></td>
        <td th:if="${DartModel.Status == 'BAD'}"  th:text="${DartModel.processCount}"></td>
         </tr>

</table>


<h3>
APPLICATION PROCESSING
</h3>

<table class="tableok">
    <thead>
    <tr>
        <th> Status </th>
        <th> HostName </th>
        <th> Process Name </th>
        <th> Process Count </th>
    </tr>
    </thead>
    <tbody>
    <tr th:each="DartModel, iterStat : ${countlist}">
        <td th:if="${DartModel.Status == 'OK'}" th:text ="${DartModel.Status}"></td>
         <td th:if="${DartModel.Status == 'OK'}" th:text="${DartModel.host}"></td>
        <td th:if="${DartModel.Status == 'OK'}" th:text="${DartModel.processName}"></td>
        <td th:if="${DartModel.Status == 'OK'}" th:text="${DartModel.processCount}"></td>
    </tr>
    </tbody>
</table>

结果 Output

在此之下将打印出我的所有数据,状态为&#34; OK&#34;。我最终试图根据价值对数据进行排序。我尝试使用javascript / jquery,但它太复杂了。我找到了一种基于值分割数据行的方法。如果值为&#34; BAD&#34;显示表格,反之亦然,价值为&#34; OK&#34; 我做错了吗?我

1 个答案:

答案 0 :(得分:1)

问题在于您将th:if放在<td>元素上而不是<tr>上。这意味着你的html看起来像这样(你在每个非空行之间有几个空行。

<table>
    <tr>
        <td>BAD</td>
        <td>...</td>
        <td>...</td>
    </tr>

    <tr></tr>
    <tr></tr>

    <tr>
        <td>BAD</td>
        <td>...</td>
        <td>...</td>
    </tr>

    <tr></tr>
</table>

您应该将th:if移动到<tr>元素,如下所示:

<table class="tablebad">
    <tr>
        <th>Status</th>
        <th>HostName</th>
        <th>Process Name</th>
        <th>Process Count</th>
    </tr>

    <tr th:each="DartModel, iterStat : ${countlist}" th:if="${DartModel.Status == 'BAD'}">
        <td th:text="${DartModel.Status}" />
        <td th:text="${DartModel.host}" />
        <td th:text="${DartModel.processName}" />
        <td th:text="${DartModel.processCount}" />
    </tr>
</table>