Я вижу две проблемы с кодом, который вы разместили:
1 - дело в cart
неверно. В следующем коде вы должны иметь Cart
с большой буквы C:
<c:forEach items="${Cart}" var="current">
Также этот код
...
<% ArrayList cart=(ArrayList)session.getAttribute("Cart");
out.println(cart);
//this line is working
%>
...
<c:forEach items="${cart}" var="current">
не берет переменную cart
, созданную вами с помощью скриптлета (если вы об этом думаете). cart
- это локальная переменная в сервлете, сгенерированная из вашего JSP. Тег не сможет получить к нему доступ).
2 - где находится объявление taglib для вашего тега c:forEach
? Что-то вроде:
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
Если сервер не распознает тег как тот, который он есть, он будет выводить объект непосредственно в ответ. Ваш браузер не распознает <c:forEach>
и будет игнорировать его (т. Е. Он есть в исходном коде, но не отображается на экране).
Используйте следующий код для JSP, и он должен работать:
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>my cart</title>
</head>
<body>
<table>
<tr bgcolor="#EAEAFF">
<td><b>Product ID</b></td>
</tr>
<c:forEach items="${Cart}" var="current">
<tr>
<td><c:out value="${current}" /></td>
</tr>
</c:forEach>
</table>
</body>
</html>