logic:iterate durch JSTL ersetzen?

Status
Nicht offen für weitere Antworten.

TSH

Bekanntes Mitglied
Hallo,

ich verwende bisher in meiner jsp-Datei diesen Aufruf, um eine Liste übergebener Beans durchzugehen:

Code:
<logic:iterate name="${beanType}" id="hyperlink" type="path.to.my.beans.HyperlinkBean">
  [*][url="${hyperlink.uri}"]<c:out value="${hyperlink.label}"/>[/url]
</logic:iterate>

Da ich nun auf Tiles2 umgestellt habe und überhaupt nichts mehr aus dem Struts-Projekt benötige, würde ich gerne Struts komplett aus dem Projekt entfernen inkl. aller Bibliotheken. Meine Frage ist daher: Kann ich o.g. Code durch irgendwas aus den JSTL ersetzen?

Ich hab's spontan mit <c:forEach> versucht, aber das hier:

Code:
<c:forEach items="${beanType}" var="hyperlink" type="path.to.my.beans.HyperlinkBean">
  [*][url="${hyperlink.uri}"]<c:out value="${hyperlink.label}"/>[/url]
</c:forEach>

führte zur Fehlermeldung:
Attribute type invalid for tag forEach according to TLD

Jemand eine Idee?
 

ms

Top Contributor
Bei "items" musst du eine Collection, Iterator, ... oder ein Array übergeben.

ms
 

TSH

Bekanntes Mitglied
Danke. Das übergebene Object ist eine ArrayList, was doch eigentlich Collection implementieren sollte, oder?
 

ms

Top Contributor
Der ForEach-Tag kennt kein Attribut "type", habs erst beim zweiten mal hinsehen bemerkt.

ms
 

TSH

Bekanntes Mitglied
Hm, wenn ich den Type weg nehme, hält die Schleife die Bean für einen String:
Property 'uri' not found on type java.lang.String
Das ist natürlich nicht so schön. Kann ich mit forEach nicht auf Eigenschaften der Beans zurückgreifen?
 

TSH

Bekanntes Mitglied
Problem gelöst. Die Variable var=hyperlink war nicht mit Klammern versehen. Daher wurde sie nicht richtig erkannt. Danke für die Hilfe, jetzt klappt's!
 

nightpoet

Mitglied
TSH hat gesagt.:
Problem gelöst. Die Variable var=hyperlink war nicht mit Klammern versehen. Daher wurde sie nicht richtig erkannt. Danke für die Hilfe, jetzt klappt's!

Hallo

Was hast Du genau gemacht?

Habe zurzeit nämlich genau das gleiche Problem.

Viele Grüße
 
Status
Nicht offen für weitere Antworten.

Ähnliche Java Themen


Oben