2010-11-13 13 views

Odpowiedz

8

Nie używaj skryptletów (tj. Elementów między tagami <% %>. Jest to uważane za złą praktykę, ponieważ zachęca do umieszczania zbyt dużej ilości kodu, nawet logiki biznesowej, w kontekście widoku, zamiast tego trzymaj się wyłącznie wyrażeń JSTL i EL Wypróbuj to:

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

Wszystko, co idzie wewnątrz <% %> musi być ważny Java i ${item} nie jest. ${...} jest składnią JSP EL.

Można to zrobić tak:

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

Jednakże, jest to straszny sposób pisać JSP. Dlaczego chcesz używać skryptletów, kiedy już używasz JSTL/EL? Oczywiście umieszczasz coś wewnątrz tego <forEach>, i cokolwiek to jest, powinieneś być w stanie zrobić bez użycia skryptletu.