2010-09-09 15 views
8

Potrzebuję zrobić dla każdej pętli i dołączyć zawartość pętli do innej strony jsp. Teraz muszę przekazać zmienną zapętloną do innej strony JSP. Próbowałem podążać, ale to nie zadziałało. Kiedy użyłem atrybutu na dołączonej stronie, po prostu wrócił wartość pusta.W tym strona JSP w środku forEach loop

<c:forEach var="item" items="${items}" varStatus="loop">  
    <jsp:include page="/my_jsp_page.jsp" flush="true"> 
     <jsp:param name="item" value="${item}" /> 
    </jsp:include> 
</c:forEach> 
+2

Kod wysłany jako daleko wygląda dobrze. Musisz podać więcej szczegółów na temat innego pliku, a także o "wyjątku", który otrzymałeś. – BalusC

+0

dlaczego nie przekazać wszystkich przedmiotów zamiast każdego przedmiotu i użyć pętli w "my_jsp_page.jsp"? co jest takiego konkretnego w przekazywaniu każdego przedmiotu na wszystkie przedmioty? – Delta

Odpowiedz

2

można przechowywać „element” do atrybutu żądanie przed wywołaniem jsp: include

<c:set var="item" scope="request" value="${item}"> 

następnie odczytać go z zakresu żądania

1

To dlatego jsp:param ustawia żądania parametr , nie jest to żądanie atrybut.

z poziomu dołączonego strony, trzeba odwołać się do item tak:

${param['item']} 

zauważyć, że skoro mówimy o zamówienie parametry tutaj, parametry te będą być zawsze smyczki. Jeśli nie zrobisz tego za Ciebie, powinieneś postępować zgodnie z powyższą radą @Boris.