Loop Tag¶
- In this article:
Introduction¶
Probably everyone faced with a situation where same content should displayed several times. Of course this problem can be solve with
well-known standard JSP tag forEach, but it is not enough if count cycle of content changed very often. That is why ImCMS provide own cycle tag that called loop.
loop tag works like the forEach tag, but the main feature of it is visual editor that provide agile configuration of content`s count, etc.
Use in template¶
For configure loop tag in template just look at the code below.
<imcms:loop no="1" pre="<div>" post="</div>" label="Loop tag example">
<imcms:loopentry>
<imcms:loopitem>
...some content that will be repeated
</imcms:loopitem>
</imcms:loopentry>
</imcms:loop>
Available list of tag attributes:¶
| Attribute | Type | Description |
|---|---|---|
| no | Integer | Identifier for current loop |
| pre | String | Text or html tag that would be added before loop tag |
| post | String | Text or html tag that would be added after loop tag |
| label | String | Label that is used to describe loop tag |
Example:¶
<%@taglib prefix="imcms" uri="imcms" %>
<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<title>Template</title>
<meta charset="utf-8"/>
</head>
<body>
<imcms:loop no="1" pre="<div>" post="</div>" label="Loop tag example">
<ul><imcms:loopentry>
<li><imcms:loopitem>
<c:set var="loopEntryRef" value="${loopitem.loopEntryRef}"/>
<c:out value="Entry no: ${loopEntryRef.entryNo}"/>
<c:out value="Loop no: ${loopEntryRef.loopNo}"/>
<div class="figure">
<imcms:image no="3" document="${document.id}" style="max-width:100px;"/>
<div class="description">
<imcms:text no="3" document="${document.id}"/>
</div>
</div>
</imcms:loopitem></li>
</imcms:loopentry></ul>
</imcms:loop>
</body>
</html>