<c:forEach items="${listOfRoutes}" var = "route">
<option value="${route.source }" >${route.source }</option>
</c:forEach>
這裏listOfRoutes包含路線(ID,源,目的地)對象。 在這裏,我想只顯示不同的信號源。 如何做到這一點,plz幫助我。如何消除jsp表達式語言中的重複值?
<c:forEach items="${listOfRoutes}" var = "route">
<option value="${route.source }" >${route.source }</option>
</c:forEach>
這裏listOfRoutes包含路線(ID,源,目的地)對象。 在這裏,我想只顯示不同的信號源。 如何做到這一點,plz幫助我。如何消除jsp表達式語言中的重複值?
可以使用Set
通過遍歷列表,因爲Set
不列入允許複製,然後使用Set
來填充選項源存儲源,請在下面的代碼看看。
<%
Set setSource = new HashSet();
for(Route route:listOfRoutes){
setSource.add(route.getSource());
}
%>
<c:forEach items="${setSource}" var = "source">
<option value="${source}" >${source}</option>
</c:forEach>
,如果你想選擇已排序的值,那麼請使用TreeSet
。
首先,你必須決定什麼使一個又一個不同的路線。不同的ID?不同的ID源目標?
然後,在Route
對象上實施equals
和hashCode
。 IDE通常可以通過選擇哪些字段必須是計算的一部分來生成這些方法。
最後,使用Set<Route>
來存儲路線,而不是List<Route>
。如果您想保留插入順序,您可以選擇LinkedHashSet
作爲實施。 Set是一個不存儲重複的集合,因此它可以滿足您的需求。
JSTL的代碼將留相同的。
我的錯,有一些錯誤。更新了代碼。 –
謝謝你rajkumar,它的工作。 –
你是受歡迎的夥伴..如果這爲你工作,你應該將此標記爲接受的答案,而不是另一個。 –