2010-11-13 13 views

Respuesta

8

No utilice scriptlets (es decir, las cosas entre las etiquetas <% %>. Se considera una mala práctica porque alienta a poner demasiados códigos, incluso lógica de negocios, en un contexto de visualización. En cambio, se adhieren a expresiones JSTL y EL exclusivamente Intente esto:

<c:forEach var="item" items="${list}"> 
    <c:set var="p" value="${item}" /> 
</c:forEach> 
17

Cualquier cosa que va dentro <% %> tiene que ser válida Java y ${item} no lo es. El ${...} es la sintaxis JSP EL.

Puede hacerlo de esta manera:

<c:forEach var="item" items="${list}"> 
    <% MyProduct p = (MyProduct) pageContext.getAttribute("item"); %> 
</c:forEach> 

Sin embargo, esta es una manera horrible de escribir páginas JSP. ¿Por qué quieres usar scriptlets cuando ya estás usando JSTL/EL? Obviamente, estás poniendo algo dentro de ese <forEach>, y sea lo que sea, deberías poder prescindir de un scriptlet.