Referencia de jstl

De Uqbar wiki

Para configurar JSTL pueden mirar: Creación de un proyecto web basado en JSP y Servlets#Cómo agregar bibliotecas adicionales

Ejemplos

En este ejemplo vemos cómo se genera una tabla o grilla de personas, en base a un conjunto de datos.

El forEach itera sobre cada objeto en la colección generando una fila por cada uno.

<?xml version="1.0" encoding="UTF-8" ?>
<jsp:root xmlns:jsp="http://java.sun.com/JSP/Page" 
  xmlns:c="http://java.sun.com/jsp/jstl/core" 
  version="2.0">
<html xmlns="http://www.w3.org/1999/xhtml">
  <head>
    <title>c:forEach Example</title>
  </head>
  <body>
    <table>
      <c:forEach var="person" items="${people.people}">
        <tr>
          <td>${person.name}</td>
          <td>${person.age}</td>
          <td>${person.height}</td>
        </tr>
      </c:forEach>
    </table>
  </body>
</html>

Se puede mejorar esto introduciendo el tag c:choose, con el que se puede aplicar banding a la tabla, con lo que lo hace más simple de visualizar.

<?xml version="1.0" encoding="UTF-8" ?>
<jsp:root xmlns:jsp="http://java.sun.com/JSP/Page" 
  xmlns:c="http://java.sun.com/jsp/jstl/core" 
  version="2.0">
<html xmlns="http://www.w3.org/1999/xhtml">
  <head>
    <title>c:forEach Example</title>
  </head>
  <body>
    <table>
      <c:forEach var="person" items="${people.people}" varStatus="rowCounter">
        <c:choose>
          <c:when test="${rowCounter.count % 2 == 0}">
            <c:set var="rowStyle" scope="page" value="odd"/>
          </c:when>
          <c:otherwise>
            <c:set var="rowStyle" scope="page" value="even"/>
          </c:otherwise>
        </c:choose>
        <tr class="${rowStyle}">
          <td>${person.name}</td>
          <td>${person.age}</td>
          <td>${person.height}</td>
        </tr>
      </c:forEach>
    </table>
  </body>
</html>

Material de referencia

Latest update on July 17, 2017 by GitHub