Как я могу объединить строку в цикле в JSTL / JSP? - PullRequest
33 голосов
/ 30 марта 2010
<c:forEach items="${myParams.items}" var="currentItem" varStatus="stat">
  <c:set var="myVar" value="<c:out var="myVar" />" />
</c:forEach>

Я хочу объединить значения currentItem.myVar и вывести его в конце цикла, проблема в том, что я не могу понять, как это сделать ...

(желательно без использования Java)

Ответы [ 4 ]

52 голосов
/ 30 марта 2010

Возможно, это сработает?

<c:forEach items="${myParams.items}" var="currentItem" varStatus="stat">
  <c:set var="myVar" value="${stat.first ? '' : myVar} ${currentItem}" />
</c:forEach>
15 голосов
/ 30 марта 2010

Вы используете JSTL 2.0, верно? Вам не нужно помещать <c:out/> вокруг всех переменных. Вы пробовали что-то подобное?

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

Редактировать : побежден вышеуказанным

1 голос
/ 03 января 2016

Является ли JSTL join() тем, что вы искали?

<c:set var="myVar" value="${fn:join(myParams.items, ' ')}" />
0 голосов
/ 30 марта 2010

определить строковую переменную, используя теги JSP

<%!
String test = new String();
%>

затем обратитесь к этой переменной в вашем цикле как

<c:forEach items="${myParams.items}" var="currentItem" varStatus="stat">
test+= whaterver_value
</c:forEach>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...