C:forEach
From OpenCms Wiki
(Difference between revisions)
(Created page with "This tag is of course documented in a lot of other places, but since it is used extensively for openCMS development, I feel taht it has its use to be put here also. If you ha...") |
(→varStatus) |
||
(5 intermediate revisions by one user not shown) | |||
Line 1: | Line 1: | ||
− | This tag is of course documented in a lot of other places, but since it is used extensively for openCMS development, I feel | + | 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 | + | If you have included the JSTL core tag lib like this: |
<code lang="html4strict"> | <code lang="html4strict"> | ||
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%> | <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%> | ||
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 18: | Line 28: | ||
The optional varStatus variable has some useful properties to help you on this: | The optional varStatus variable has some useful properties to help you on this: | ||
− | *current | + | *current - current element |
− | *index | + | *index - 0 based index of the element in the list |
*count | *count | ||
*first | *first | ||
*last | *last | ||
− | |||
− | |||
− | |||
'''Example:''' | '''Example:''' | ||
Line 33: | Line 40: | ||
</c:forEach> | </c:forEach> | ||
</code> | </code> | ||
+ | |||
+ | Iterating 5 to 10 item: | ||
+ | <code lang="html4strict"> | ||
+ | <c:forEach var="yourItemOfCollectionVarName" items="${yourCollection}" begin="4" end="9" varStatus="yourStatus"> | ||
+ | <div id="line-${yourStatus.index}">${yourItemOfCollectionVarName.name}</div> | ||
+ | </c:forEach> | ||
+ | </code> | ||
+ | |||
+ | == Sources == | ||
+ | |||
+ | tutorialspoint.com/jsp/jstl_core_foreach_tag.htm | ||
+ | |||
+ | [[Category:Developing in OpenCms ]] |
Latest revision as of 17:10, 13 August 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 - current element
- index - 0 based index of the element in the list
- 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