W jaki sposob tworzysz ta liste? Jesli nie ma jej w zadnym obiekcie ktory moze skladowac atrybuty, a jest to tylko zmienna za scritpletu, to nie mozesz jej uzyc. Np:
<html>
<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<body>
<%
int[] list = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
%>
<c:forEach var="value" items="${list}">
<c:choose>
<c:when test="${(value mod 2) eq 0}">
<b>To jest parzyste: ${value}</b><br/>
</c:when>
<c:otherwise>
<b>To jest nieparyste: ${value}</b><br/>
</c:otherwise>
</c:choose>
</c:forEach>
</body>
</html>
Powyzej, EL nie zna atrybutu "list". Przeciwnie do:
<html>
<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<body>
<%
int[] list = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
request.setAttribute("list", list);
%>
<c:forEach var="value" items="${list}">
<c:choose>
<c:when test="${(value mod 2) eq 0}">
<b>To jest parzyste: ${value}</b><br/>
</c:when>
<c:otherwise>
<b>To jest nieparyste: ${value}</b><br/>
</c:otherwise>
</c:choose>
</c:forEach>
</body>
</html>
Moze to jest problemem? Dany atrybut musi znajdowac sie w page, request, session, application scope.
Co do wielu spacji, rzeczywiscie powyzszy kod generuje ich wiele, jesli ci to nie pasuje, to jak utworzysz stronke jako dokument XML (jspx) to spacje nie sa generowane.
PS. Znaczniki w twoim poscie byly niepoprawne.