2011-12-11 22 views
0
<c:forEach items="${listOfRoutes}" var = "route"> 
       <option value="${route.source }" >${route.source }</option> 
       </c:forEach> 

ここで、listOfRoutesにはRoute(id、source、destination)オブジェクトが含まれています。 ここでは、別個の情報源しか表示しません。 これを行う方法、PLZ助けてください。jsp式言語の重複値を排除する方法は?

答えて

0

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を使用してください。

+0

私のせいで、いくつかの間違いがありました。コードを更新しました。 –

+0

rajkumarありがとう、それは働いた。 –

+0

これはあなたのために働いた場合、あなたは歓迎バディーです。これは他のものではなく、受け入れられた答えとしてマークする必要があります。 –

2

まず、ルートを別のルートと区別するためには、まずルートを決定する必要があります。異なるIDですか?異なるIDソースの宛先?

RouteオブジェクトにequalshashCodeを実装します。 IDEには、一般に、どのフィールドを計算の一部にするかを選択することによって、これらのメソッドを生成するオプションがあります。

最後にList<Route>ではなく、Set<Route>を使用してルートを保存します。挿入順序を保持する場合は、実装としてLinkedHashSetを選択することができます。 Setは、重複を格納しないコレクションなので、必要なものを満たします。

JSTLコードは同一のままです。

関連する問題