【发布时间】:2014-12-16 08:31:09
【问题描述】:
目前,我想显示列表项中的所有值,但我想删除重复值并只向用户显示唯一值。
我尝试实现如下代码,但它不起作用。
<tr>
<td class="col-ss1 col1">Currency</td>
<c:forEach items="${listProducts}" var="item" varStatus="loop">
<td class="col-ss1 "><c:forEach items="${item.terms}" var="term" varStatus="mainLoop">
<c:if test="${(mainLoop.index - 1) > 0}">
<c:forEach var="previousTerm" items="${item.terms}" begin="0"
end="${mainLoop.index-1}" varStatus="inner">
<c:if test="${term.currencyType == previousTerm.currencyType }">
<c:set var="flag" value="true"/>
</c:if>
</c:forEach>
</c:if>
<c:if test="${not flag}">${term.currencyType }</c:if>
</c:forEach></td>
</c:forEach>
<!-- <td class="col-ss1 col2">VNĐ / USD / EURO</td>
<td class="col-ss1 col3">VNĐ / USD / EURO</td>
<td class="col-ss1 col4">VNĐ / USD / EURO</td>
<td class="col-ss1 col5">VNĐ / USD / EURO</td> -->
【问题讨论】:
-
我真的认为你应该在控制器中(甚至在业务逻辑中)清除列表,而不是在 JSP 中。
-
为什么不使用 Set 而不是 List 来删除重复项?
-
是的,我也同意 y ,我们应该在控制器中执行,但是由于我们项目中的逻辑代码,我们必须在 jsp 文件中实现,在这种情况下我很感谢您的帮助。谢谢
-
user23123412 :请解释更多细节......谢谢
-
Set 似乎也可以在 Controller 中处理。您是否尝试添加一个局部变量来重新构造 listProducts,并使用该变量进行循环?
标签: java jsp spring-mvc