How do use <c:forEach> JSTL tag?

The <c:forEach> tag in the core JSTL tag library is a useful tag when we want to iterate over a collection of data such as array. It is commonly use to render a tabular data in our web pages in form of HTML table.

In the example below we display a weather data that we stored as two dimensional array of string. After declaring and initializing the data with some value we put it into the request scope. Later on the <c:forEach> tag can use the data, iterates it row by row to form an HTML table. Our weather data consist of the date, condition and the high and low temperature.

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@ taglib uri="" prefix="c" %>
<!DOCTYPE html>
    <title>Weather Forecast</title>
    String[][] data = {
            {"Nov 6", "Sunny", "32", "26"},
            {"Nov 7", "Sunny", "32", "26"},
            {"Nov 8", "Sunny", "32", "26"},
            {"Nov 9", "Partly Cloudy", "32", "26"},
            {"Nov 10", "Isolated T-Storms", "32", "26"}
    request.setAttribute("weathers", data);
<strong>5-Days Weather for Denpasar, Indonesia</strong>

<table border="1">
        <th>TEMP. HIGH</th>
        <th>TEMP. LOW</th>
    <c:forEach var="weather" items="${weathers}">
            <td align="center">${weather[2]}℃</td>
            <td align="center">${weather[3]}℃</td>

Our JSP page above creates the following output:

5-Days Weather for Denpasar, Indonesia

Nov 6 Sunny 32℃ 26℃
Nov 7 Sunny 32℃ 26℃
Nov 8 Sunny 32℃ 26℃
Nov 9 Partly Cloudy 32℃ 26℃
Nov 10 Isolated T-Storms 32℃ 26℃

Here is the web.xml configuration file.

<?xml version="1.0" encoding="UTF-8"?>

  <!-- Config here. -->


Maven Dependencies


Maven Central

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.