web-dev-qa-db-fra.com

Comment puis-je concaténer une chaîne dans une boucle en JSTL / JSP?

<c:forEach items="${myParams.items}" var="currentItem" varStatus="stat">
  <c:set var="myVar" value="<c:out var="myVar" />" />
</c:forEach>

Je veux concaténer les valeurs de currentItem.myVar et le sortir à la fin de la boucle, le problème est que je ne peux pas comprendre comment faire cela ...

(Ne pas utiliser de préférence Java)

33
qodeninja

Peut-être que cela fonctionnera?

<c:forEach items="${myParams.items}" var="currentItem" varStatus="stat">
  <c:set var="myVar" value="${stat.first ? '' : myVar} ${currentItem}" />
</c:forEach>
53
harto

Vous utilisez JSTL 2.0 à droite? Vous n'avez pas besoin de mettre <c:out/> autour de toutes les variables. Avez-vous essayé quelque chose comme ça?

<c:forEach items="${myParams.items}" var="currentItem" varStatus="stat">
  <c:set var="myVar" value="${myVar}${currentItem}" />
</c:forEach>

Edit : battu par ce qui précède

15
Ben J

Est la join() de JSTL, que recherchez-vous?

<c:set var="myVar" value="${fn:join(myParams.items, ' ')}" />
1
Niklas Peter