C:forEach

(Difference between revisions)
Jump to: navigation, search
(varStatus)
(varStatus)
Line 13: Line 13:
 
</c:forEach>
 
</c:forEach>
 
</code>
 
</code>
 +
 +
== attributes ==
 +
The c:forEach has the following attributes:
 +
 +
*begin - Element to start with (0 = first item, 1 = second item, ...)
 +
*step - Precess every step item
 +
*end - Element to end with (0 = first item, 1 = second item, ...)
 +
*items
 +
*var
 +
*varStatus
  
 
== varStatus ==
 
== varStatus ==
Line 23: Line 33:
 
*first
 
*first
 
*last
 
*last
*begin - Element to start with (0 = first item, 1 = second item, ...)
 
*step - Precess every step item
 
*end - Element to end with (0 = first item, 1 = second item, ...)
 
  
 
'''Example:'''
 
'''Example:'''

Revision as of 17:49, 19 May 2013

This tag is not natice open CMS but the part of the JSTL core library. It is of course documented in a lot of other places, but since it is used extensively for openCMS development, I feel that it has its use to be put here also.

If you have included the JSTL core tag lib like this:

<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>

you can use the c:forEach tag

<c:forEach var="yourItemOfCollectionVarName" items="${yourCollection}" varStatus="yourStatus">
   <!-- your code goes here -->
</c:forEach>

attributes

The c:forEach has the following attributes:

  • begin - Element to start with (0 = first item, 1 = second item, ...)
  • step - Precess every step item
  • end - Element to end with (0 = first item, 1 = second item, ...)
  • items
  • var
  • varStatus

varStatus

If you like to do something different for every x row or only for the last or first row, varStatus is helping a lot. The optional varStatus variable has some useful properties to help you on this:

  • current
  • index
  • count
  • first
  • last

Example:

<c:forEach var="yourItemOfCollectionVarName" items="${yourCollection}" varStatus="yourStatus">
   <div id="line-${yourStatus.index}">${yourItemOfCollectionVarName.name}</div>
</c:forEach>

Iterating 5 to 10 item:

<c:forEach var="yourItemOfCollectionVarName" items="${yourCollection}" begin="4" end="9" varStatus="yourStatus">
   <div id="line-${yourStatus.index}">${yourItemOfCollectionVarName.name}</div>
</c:forEach>

Sources

tutorialspoint.com/jsp/jstl_core_foreach_tag.htm

Personal tools
Namespaces
Variants
Actions
Navigation
Toolbox