JSP/EL - iteracja po Kolekcji ArraList, z elementami własnego obiektu.

0

Witajcie,

Mam pewien problem by przeiterować kolekcję ArrayList w JSP przy użyciu języka wyrażeń EL/

Utworzyłem sobie prostą klasę jako JavaBean:

public class DataSource
{
  public DataSource() { }
  public int getId() { return 555; }
  public String getSymbol() { return "TEST TEST"; }
}

Następnie utworzyłem ArrayList-e zawierającą kilka instancji powyższej klasy.

List<DataSource> list = new ArrayList<DataSource>();
DataSource ds = new DataSource();
list.add(ds);
list.add(ds);
list.add(ds);
request.setAttribute("list", list);

Teraz w kodzie JSP próbuje przejść przez wszystkie elementy i wyświetlić jakieś pole.

${requestScope.list} <!-- to wyświetla tablice z hashami dla każdego z 3 elementów --!>
<table>
  <c:forEach var="ds" items="${requestScope.list}">
    <tr>
      <td>ID: ${ds.id}</td>
    </tr>
  </c:forEach>
</table>

Niestety w żaden sposób nie chce mi pobrać wartość id.

Pętla for w samym servlecie działa poprawnie:

for (DataSource row : list) {
  System.out.println(row.getId());
}

Co mogę robić źle ?


Dla testu do strony JSP dodałem zwykłe scriptlet

<% 
List<DataSource> list = (List) request.getAttribute("list");
for (DataSource s : list) { %>
  <%= s.getId() %>
<% } %>

i to działa poprawnie.

PS: Używam serwera Tomcat 7. Widzę że w ogóle mi nie widzi akcji JSTL :(. W NetBeansie załadowałem 2 pliki jar do projektu jstl-impl-1.2.jar oraz jstl-api-1.2.jar bez skutku :(

0

Problem rozwiązany. Znaczniki JSTL w ogóle nie były interpretowane.
Pomogło, oprócz wczytanie do projektu odpowiednich plików jar. Dodanie do nagłówka pliku JSP:

<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
0

o_O W czym ty to piszesz skoro błąd się nie wyświetlał? Eclipse krzyczy jak mu brakuje takich definicji.

0

Używam NetBeansa, ale poważnie zastanawiam się nad przesiadką na Eclipsa.

0

Używałem kiedyś NetBeansa jak robiłem projekt w JSF na zajęcia i NetBeans podkreślał mi nierozpoznane tagi. Poza tym, jeżeli nie są interpretowane, to możesz przejrzeć źródła wygenerowanej strony i je zauważyć.

1 użytkowników online, w tym zalogowanych: 0, gości: 1