# Liste nach Anfangsbuchstaben getrennt ausgeben?



## TSH (14. Okt 2008)

Hallo,

ich habe momentan eine Liste von Items, die ich einfach iteriere und als Liste ausgebe:


```
<ul>
  <c:forEach items="${allItem}" var="myItem">
    [*][url="${myItel.url}"]<c:out value="${myItem.label}" />[/url]
  </c:forEach>
[/list]
```

Es ist auch kein Problem, die Liste vor der Übergabe an das JSP alphabetisch nach Label zu sortieren. Allerdings hätte ich jetzt gerne statt so etwas:


```
- American Beauty
- Armageddon
- Beverly Hills Cop
- Casino
- Crash
```

lieber:


```
[A]
American Beauty
Armageddon

[B]
Beverly Hills Cop

[code]
Casino
Crash
```

Ist so was mit JSTL-Hausmitteln machbar?


----------



## HLX (14. Okt 2008)

So in etwa? 

```
<ul>
  <c:set var="temp" value ="" />
  <c:forEach items="${allItem}" var="myItem">
    <c:set var="comp" value="${fn:substring(myItem.label, 0, 1)}"/>
    <c:if test="${temp != comp)}">
           
[b]<c:out value="${comp}"/>[/b]

           <c:set var="temp" value="${comp}"/>
    </c:if>
    [*][url="${myItel.url}"]<c:out value="${myItem.label}" />[/url]
  </c:forEach>
[/list]
```
Vorsicht: hab´s nur runtergeschrieben und nicht getestet.


----------



## TSH (14. Okt 2008)

Vielen Dank. Eine ")" hat beim Vergleich gefehlt (oder war zu viel), aber so geht's!


----------

