Affan Qureshi wrote:
piloupy GOTTAPIL wrote:
Hi,

What I want to do is quite simple. I'd like to know how to test in a
<logic:iterate> when I'm at the first or last iteration.

My present problem is to parse a collection of String and display the
results like this :

### CODE : begin ###
value1, value2, value3
### CODE : end ###

And as you can see, for the last iteration, I mustn't displey the
comma character.

My present code is :

### CODE : begin ###
<logic:iterate id="e" name="myCollection">
  <bean:write name="e" property="name" />,
</logic:iterate>
### CODE : end ###

Thanks in advance :)



Declare a counter variable in the loop. You can get the size of the collection in a page variable with the <bean:size > tag and use that to compare the current iteration. And then dont display the comma at the last iteration.

This is trivial to do with JSTL; something like this should work:

  <c:forEach items='myCollection' var='e' varStatus='status'>
    <c:out value='e'>
    <c:if test='${not status.last}'>
      <c:out value=','/>
    </c:if>
  </c:forEach>

Strut 1's logic:iterate tag only provides a simple integer status variable, which is why you have to jump through a few extra hoops using that. Just one of the reasons JSTL is preferred over the logic: collection :-)

L.


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to