web-dev-qa-db-fra.com

Passage de paramètres dans un autre fichier JSP à l'aide de la balise <jsp: include>

J'ai un fichier JSP et dans ce fichier, j'inclus un autre fichier JSP:

<c:forEach var="instanceVar" items="${instanceList}">
    <c:set var="instance"><jsp:include page="instance.jsp"/></c:set>
    ...
</c:forEach


Dans le fichier instance.jsp je souhaite utiliser une variable instanceVar. Je veux le faire en utilisant JSTL. Y a-t-il un moyen de faire ça?

45
SIGSTP
<c:forEach var="instanceVar" items="${instanceList}">
    <jsp:include page="instance.jsp">
        <jsp:param name="myVar" value="${instanceVar}"/>
    </jsp:include>
</c:forEach>

Dans le instance.jsp

<c:out value="${param.myVar}"/>
77
Alex

Une alternative serait d'utiliser setAttribute() et getAttribute()

6
SpringLearner

Une autre alternative consiste à utiliser la balise JSTL c: set et request scope.

<c:set var="instance" value="${your.value}" scope="request"/>
<jsp:include page="instance.jsp"/>
5
Yuriy Tumakha

La solution qui fonctionne pour moi est la suivante 

<c:set var="instance" value="${semaforoData}" scope="request"/>
<jsp:include page="semaforo.jsp"/>

dans le fichier jsp, le code est:

<c:forEach var='itemSemaforo' items='${semaforoData}' varStatus='loopSemaforo'>
Print data
</c:forEach>
0
Jorge Santos Neill