So che è molto tardi per rispondere a questa domanda, ma può essere utile a chi si è bloccato in questa situazione e alla ricerca di risposte.
La mia risposta funzionerà se non si è strettamente vincolati all'utilizzo del tag <jsp: include>
per includere jsp. Invece, è possibile utilizzare <%@include file="/WEB-INF/views/path-to-jsp.jsp" %>
per importare un altro jsp nella pagina e questa pagina può utilizzare la variabile di ciclo del tag <c:forEach>
.
Ad esempio.
<c:forEach items="${users}" var="user">
<%@include file="/WEB-INF/views/path-to-jsp.jsp" %> <!-- here ${user} can be use in importing jsp file. -->
</c:forEach>
Si sta lavorando perché <%@include file="" %>
tag inietterà il contenuto del file chiamato nel JSP contenenti il tag, come se fosse stato copiato e incollato. Questo viene fatto prima che il contenuto del file incluso sia analizzato, mentre viene analizzato mentre viene analizzato il JSP contenente. Questo è più simile a una direttiva C# include, dove durante la pre-elaborazione il file incluso viene "incollato" in posizione prima che il file venga compilato. Dopo che il contenuto è stato incluso, viene valutato, tutto nello stesso contesto, e quindi con gli stessi accessi e vincoli che il codice incluso avrebbe se i contenuti fossero semplicemente digitati in posizione.
Considerando che il tag <jsp:include page=""/>
si comporta in modo diverso in quanto il risultato del rendering della pagina specificata viene iniettato nel JSP contenente nel punto del tag. Ciò avviene essenzialmente inviando la pagina richiesta allo stesso contenitore, come una richiesta di rendering separata e prendendo i risultati, non il contenuto del file. Questa richiesta viene eseguita nel suo contesto, nel senso che non utilizza le stesse informazioni sulla pagina della pagina che contiene il tag. Questo può essere utile, specialmente se il contenuto incluso può avere variabili in conflitto, per esempio.
fonte
2017-06-15 11:04:20
Stavo cercando un modo più elegante, ma ho finito per farlo. A proposito, non è necessario rinominare la variabile: ' ' funziona bene e rischia di essere meno confuso . –
Dmitri