我在春季靴子项目中使用百里香叶。我有一个项目列表,我想将它们放在桌子上。
此列表必须分为4列。这些项目的ID和ID引用了特定的列。
所以我有一张桌子,在正文中我想在一个“ tr”中设置不同的“ tds”。在每个“ td”中,我要遍历列表,找到具有正确ID的项目,并在输入中设置特定的数量。
该列表来自db,所以我只有具有值的项目,因此,如果某些东西将为零,则该项目将不存在。
当我没有物品时想放零时,问题就来了。
我只想用百里香做饭,而不想添加一个javascript函数来以后设置值。
现在写我正在使用以下代码:
<tbody>
<tr>
<td th:each="extraWork: ${ExtraWorkList}" class="BRtd" th:if="${extraWork.extraWorkCategory.id==1}"><input type="number" class="bReal" th:name="test2" th:value="${extraWork.qty}"></td>
<td th:each="extraWork: ${ExtraWorkList}" class="BRtd" th:if="${extraWork.extraWorkCategory.id==2}"><input type="number" class="bReal" th:name="test3" th:value="${extraWork.qty}"></td>
<td th:each="extraWork: ${ExtraWorkList}" class="BRtd" th:if="${extraWork.extraWorkCategory.id==3}"><input type="number" class="bReal" th:name="test4" th:value="${extraWork.qty}"></td>
<td th:each="extraWork: ${ExtraWorkList}" class="BRtd" th:if="${extraWork.extraWorkCategory.id==4}"><input type="number" class="bReal" th:name="test5" th:value="${extraWork.qty}"></td>
</tr>
</tbody>
但是,如果不存在具有特定ID的项目,则不会创建输入。
答案 0 :(得分:0)
嗨,改变你的方法,
<table th:if="${ExtraWorkList.length > 0}">
.................
<tbody>
<tr th:each="${index: #numbers.sequence(0, ExtraWorkList.length, 4)}">
<td class="BRtd"><input type="number" class="bReal" th:name="test2" th:value="${ExtraWorkList[index].qty}"></td>
<td class="BRtd" th:if="${ExtraWorkList[index + 1] != null}"><input type="number" class="bReal" th:name="test3" th:value="${ExtraWorkList[index + 1].qty}"></td>
<td class="BRtd" th:if="${ExtraWorkList[index + 2] != null}"><input type="number" class="bReal" th:name="test4" th:value="${ExtraWorkList[index + 2].qty}"></td>
<td class="BRtd" th:if="${ExtraWorkList[index + 3] != null}"><input type="number" class="bReal" th:name="test5" th:value="${ExtraWorkList[index + 3].qty}"></td>
</tr>
</tbody>
会做。
答案 1 :(得分:0)
您可以使用collection selection完成此操作,然后检查是否为空对象。这应该为您工作:
<tbody>
<tr>
<td th:with="extraWork=${ExtraWorkList.^[extraWorkCategory.id==1]}" class="BRtd"><input type="number" class="bReal" th:name="test2" th:value="${extraWork == null ? 0 : extraWork.qty}" /></td>
<td th:with="extraWork=${ExtraWorkList.^[extraWorkCategory.id==2]}" class="BRtd"><input type="number" class="bReal" th:name="test3" th:value="${extraWork == null ? 0 : extraWork.qty}" /></td>
<td th:with="extraWork=${ExtraWorkList.^[extraWorkCategory.id==3]}" class="BRtd"><input type="number" class="bReal" th:name="test4" th:value="${extraWork == null ? 0 : extraWork.qty}" /></td>
<td th:with="extraWork=${ExtraWorkList.^[extraWorkCategory.id==4]}" class="BRtd"><input type="number" class="bReal" th:name="test5" th:value="${extraWork == null ? 0 : extraWork.qty}" /></td>
</tr>
</tbody>
如果愿意,您可以进一步简化此操作(尽管现在变得有点复杂了)。像这样:
<tbody>
<tr>
<td th:each="i: ${#numbers.sequence(1,4)}" th:with="extraWork=${ExtraWorkList.^[extraWorkCategory.id==__${i}__]}" class="BRtd"><input type="number" class="bReal" th:name="|test${i+1}|" th:value="${extraWork == null ? 0 : extraWork.qty}" /></td>
</tr>
</tbody>