Je vois deux problèmes avec le code affiché:
1 - le cas pour cart
est erroné. Dans le code suivant, vous devez avoir Cart
avec un C majuscule:
<c:forEach items="${Cart}" var="current">
De plus, ce code
...
<% ArrayList cart=(ArrayList)session.getAttribute("Cart");
out.println(cart);
//this line is working
%>
...
<c:forEach items="${cart}" var="current">
ne capte pas la variable cart
vous avez créé avec le scriptlet (si c'est ce que vous pensez). cart
est une variable locale de la servlet générée à partir de votre JSP. Le tag ne pourra pas y accéder). Où est la déclaration taglib pour votre tag c:forEach
? Quelque chose comme:
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
Si le serveur ne reconnaît pas la balise comme ce qu'il est, il affichera la chose directement dans la réponse. Votre navigateur ne reconnaîtra pas <c:forEach>
et l'ignorera (c'est-à-dire que vous l'avez dans le code source mais il ne s'affiche pas à l'écran).
Utilisez le code suivant pour votre JSP et il devrait fonctionner:
<%@ 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>
Vous devriez poster plus de code, la page principale et le code popup serait bien. Et utilisez le balisage SO pour les codes. – wtaniguchi