| Refresh | Home EGTry.com

data type used for loop in jstl


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

<h3>use String Array</h3>
<%
 String list[]={"one", "two", "three"};
 pageContext.setAttribute("allitems", list, PageContext.PAGE_SCOPE);

%>
<c:forEach var="name" varStatus="seq" items="${pageScope.allitems}">
  <c:out value="${seq.count}" />. <c:out value="${name}" /> <br/>
  ${seq.count}. ${name} <br/>

</c:forEach>


<h3>use List of String</h3>
<%@page import="java.util.List,java.util.ArrayList" %>
<%
 List list2=new ArrayList();
 list2.add("Mon");
 list2.add("Tue");
 list2.add("Wed");
 pageContext.setAttribute("weekday", list2, PageContext.PAGE_SCOPE);
%>
<c:forEach var="day" items="${pageScope.weekday}" varStatus="seq">
  <c:out value="${seq.count}"/>: <c:out value="${day}"/> <br/>
</c:forEach>

<h3> use csv string, comma separated string </h3> 
<c:forEach var="item" items="a,b,c,d" varStatus="seq">
 <c:out value="${seq.count}"/>: <c:out value="${item}" /> <br/>
</c:forEach>


<h3>use Map</h3>
<%@page import="java.util.Map,java.util.HashMap" %>
<%
 Map map=new HashMap();
 map.put("one","Mon");
 map.put("two", "Tue");
 map.put("three", "Wed");
 pageContext.setAttribute("days", map, PageContext.PAGE_SCOPE);
%>
<c:forEach var="dayEntry" items="${pageScope.days}" varStatus="seq">
  <c:out value="${seq.count}"/>: <c:out value="${dayEntry.key}"/> = <c:out value="${dayEntry.value}"/> <br/>
</c:forEach>



output:

use String Array

1. one
1. one
2. two
2. two
3. three
3. three

use List of String

1: Mon
2: Tue
3: Wed

use csv string, comma separated string

1: a
2: b
3: c
4: d

use Map

1: two = Tue
2: one = Mon
3: three = Wed