百里香叶。从数组和列表构建 table

Thymeleaf. Building table from array & list

我得到了这个代码:

<th:block th:if="${!#lists.isEmpty(partyInfoByUploaderList)}" th:each="pInfo : ${partyInfoByUploaderList}">
<h4 th:text="${pInfo.getCharName()}"></h4>
<table class="table table-bordered table-hover table-striped">
    <thead>
        <tr>
            <th:block th:if="${!#lists.isEmpty(pInfo.getCharColumnTitles())}" th:each="title: ${pInfo.getCharColumnTitles()}">
                <td th:text="${title}"></td>
            </th:block>
        </tr>
    </thead>
    <tbody>
        <tr>
            <th:block th:each="val: ${pInfo.getCharColumnValues()}">
                <td th:text="${val}"></td>
            </th:block>
        </tr>
    </tbody>
</table>

我得到了这个结果: http://screenshot.ru/6dfbe559f905a17dff44d360b5d13f28

所以这段代码正确地创建了 table 头部,并且不解析 table 主体。 顺便说一句,在delpoy之后这段代码出现在另一个地方:

<th:block th:each="val: ${pInfo.getCharColumnValues()}">
     <td th:text="${val}"></td>
</th:block>

浏览器网页源代码: http://screenshot.ru/9d3fab8030c5ca382ab81094e0c1ca86

问题 #2: 为什么这段代码会产生 TemplateProcessingException 错误?

P.S。图像没有足够的声誉,所以只有链接。索兹

根据 Thymeleaf Documentation<th:block></th:block> 应该换行 <tr></tr> 而不是相反。所以你应该试试这个:

<th:block th:each="val: ${pInfo.getCharColumnValues()}">
    <tr>
        <td th:text="${val}"></td>
    </tr>
</th:block>