<c:forEach items="${myParams.items}" var="currentItem" varStatus="stat"> <c:set var="myVar" value="<c:out var="myVar" />" /> </c:forEach> I want to concatenate the values of currentItem.myVar and output it at the end of the loop, problem is I can't figure out how to do this...
(Preferably not using Java)
4 Answers
Perhaps this will work?
<c:forEach items="${myParams.items}" var="currentItem" varStatus="stat"> <c:set var="myVar" value="${stat.first ? '' : myVar} ${currentItem}" /> </c:forEach> 3You're using JSTL 2.0 right? You don't need to put <c:out/> around all variables. Have you tried something like this?
<c:forEach items="${myParams.items}" var="currentItem" varStatus="stat"> <c:set var="myVar" value="${myVar}${currentItem}" /> </c:forEach> Edit: Beaten by the above
5Is JSTL's join(), what you searched for?
<c:set var="myVar" value="${fn:join(myParams.items, ' ')}" /> define a String variable using the JSP tags
<%! String test = new String(); %> then refer to that variable in your loop as
<c:forEach items="${myParams.items}" var="currentItem" varStatus="stat"> test+= whaterver_value </c:forEach> 3