我正在使用Spring Boot 2.1.5.RELEASE,Thymeleaf 3.0.11.RELEASE(thymeleaf-3.0.11.RELEASE.jar),Thymeleaf Spring 3.0.11.RELEASE(thymeleaf-spring5-3.0.11.RELEASE)。罐子)
代码段
<tr th:each="employee : ${employeeList}">
<td th:text="${employee.order}"></td>
<td th:text="${employee.age}"></td>
<td th:switch="${employee.level}">
<span th:case="0">Junior</span>
<span th:case="1">Senior</span>
<span th:case="2">Expert</span>
</td>
<td th:text="${employee.activeStatus}"></td>
</tr>
要通过JavaScript在数据网格中进行排序,我需要删除<span></span>
标签对。例如,如果某位员工的级别为2。这次,Thymeleaf将渲染
<td><span>Expert<span></td>
我希望成为
<td>Expert</td>
(没有<span>
标签)。如何做到这一点?
我也尝试
<tr th:each="employee : ${employeeList}">
<td th:text="${employee.order}"></td>
<td th:text="${employee.age}"></td>
<td th:switch="${employee.level}">
<th:block th:case="'0'">Junior</th:block>
<th:block th:case="'1'">Senior</th:block>
<th:block th:case="'2'">Expert</th:block>
</td>
<td th:text="${employee.activeStatus}"></td>
</tr>
但是它会生成不需要的字符
<td>
Expert
</td>
(在文本前有新行或空格,这是不需要的结果)
答案 0 :(得分:1)
答案是,您不必关心多余的空格和换行符。 HTML在渲染时会忽略这些空格,因此它对您来说无关紧要-除了格式化hack之外,没有办法摆脱它们。
如果您真的想摆脱空间,可以:
将开关放在一行上。
<tr th:each="employee : ${employeeList}">
<td th:text="${employee.order}"></td>
<td th:text="${employee.age}"></td>
<td th:switch="${employee.level}"><th:block th:case="'0'">Junior</th:block><th:block th:case="'1'">Senior</th:block><th:block th:case="'2'">Expert</th:block></td>
<td th:text="${employee.activeStatus}"></td>
</tr>
创建一个Map<String, String> levelToDescription
,将其放在模型上,然后使用它代替switch语句。
<tr th:each="employee : ${employeeList}">
<td th:text="${employee.order}" />
<td th:text="${employee.age}" />
<td th:text="${levelToDescription[employee.level]}" />
<td th:text="${employee.activeStatus}" />
</tr>
等等...
答案 1 :(得分:0)
替换
<td th:switch="${employee.level}">
<th:block th:case="'0'">Junior</th:block>
<th:block th:case="'1'">Senior</th:block>
<th:block th:case="'2'">Expert</th:block>
</td>
作者
<th:block th:if="${employee.level} eq '0'"><td>Junior</td></th:block>
<th:block th:if="${employee.level} eq '1'"><td>Senior</td></th:block>
<th:block th:if="${employee.level} eq '2'"><td>Expert</td></th:block>