Iterowanie przez obiekt listy w JSP
Pracuję nad projektem, aby spróbować nauczyć się wiosny i rozpórek. Obecnie utknąłem na stronie JSP. Mam klasę pojo ze zmiennymi eid i ename z getters / setters, mam także tabelę w sql o tych samych wartościach z sześcioma wypełnionymi wierszami.
Uzyskuję dostęp do mojej bazy danych za pomocąJdbcTemplate
i zapisałem wynik na liście, a następnie przekazałem tę listę do mojej strony akcji, w której ustawiłem ją jakorequest.setAttribute("empList",eList)
. Na mojej stronie jsp nazywam ten atrybut, a następnie próbuję przeglądać go za pomocąJSTL
.
Jednak nic się nie pojawia, wiem, że moja zmienna listy zawiera dane, ponieważ sprawdziłem ją przy użyciu znacznika wyrażenia<%=eList%>
a obiekty pojawiają się w ten sposób:
[org.classes.database.Employee@d9b02,
org.classes.database.Employee@13bce7e,
org.classes.database.Employee@171cc79,
org.classes.database.Employee@272a02,
org.classes.database.Employee@137105d,
org.classes.database.Employee@1359ad]
Pomyślałem, że może brakowało mi czegoś na jstl, ale mam jstl-1.2 w moimMETA-INF/lib
teczka. Próbowałem też dodać go do pliku ścieżki konfiguracji i nadal nic. Mam również poprawny adres URL tagu.
Także kiedy robię proste<c:out value="Hello"/>
. Witam, drukuje. To prowadzi mnie do przekonania, że mójjstl
działa poprawnie, ale kiedy próbuję iterować moją listę używającjstl
nic się nie pojawia.
Tak czy inaczej tutaj jest moja strona JSP:
<%@ page language="java" contentType="text/html; charset=ISO-8859-1" pageEncoding="ISO- 8859-1"%>
<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ page import="java.util.List"%>
<!DOCTYPE html>
<% List eList = (List)session.getAttribute("empList");%>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Employee Details</title>
</head>
<body>
<c:out value="Hello"></c:out>
<h3>Employee Details</h3>
<hr size="4" color="gray"/>
<table>
<%=eList%>
<c:forEach items="${eList}" var="employee">
<tr>
<td>Employee ID: <c:out value="${employee.eid}"/></td>
<td>Employee Pass: <c:out value="${employee.ename}"/></td>
</tr>
</c:forEach>
</table>
</body>
</html>
Każda pomoc byłaby bardzo mile widziana!