Está en la página 1de 18

Universidad Pública de El Alto - Bolivia

Carrera de Ingeniería de Sistemas

JAVA STANDAR TAG LIBRARY


JSTL

Lic. Mario Torrez


Contenido
❑ Librerias de JSTL
❑ EL (Expression language)
❑ Tags del Core JSTL
❑ JSTL SQL
Introducción
❑ JSTL (Java Standard Tag Library) es una tecnología que forma
parte de Java EE desde sus versiones anteriores.
❑ JSTL incluye etiquetas que reemplazan código Java en
archivos JSP.
❑ Para usarlo se debe incluir en la cabecera la siguiente
directiva:
<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>

❑ Facilita la programación de tareas comunes y reduce la


cantidad de código escrito.
❑ JSTL se compone de cuatro librerías:
Core JSTL SQL JSTL XML JSTL Formating JSTL
❑ Core: http://java.sun.com/jsp/jstl/core

❑ XML: http://java.sun.com/jsp/jstl/xml

❑ Internationalization: http://java.sun.com/jsp/jstl/fmt

❑ SQL: http://java.sun.com/jsp/jstl/sql
Lenguaje de expresiones (EL)
❑ Expression Language (EL) de Java tiene por propósito incrustar expresiones dentro
de paginas JSP.
❑ Usualmente EL se utiliza en combinación con las etiquetas JSTL.
❑ Las comillas dobles y simples son equivalentes.
❑ Las conversiones de tipos se hacen generalmente de forma implícita.
❑ La sintaxis del lenguaje de expresiones (EL) es:
${expresión}
❑ Para acceder a un atributo dentro de un objeto, se usan los operadores ‘.’ y ‘[]’, de
las formas:
objeto.nombreAtributo
objeto["nombreAtributo"]
OBJETO AMBITOS

page En page scope


request En request scope
session En session scope
application En application scope
Operadores
Tipo de operador Operadores
Aritmético +, -, /, %, (div, mod)
Lógico &&, ||, ! (and, or, not empty)
Relacional ==, >, <, >=, <= (eq, gt, lt,ge, le)
Lenguaje de expresiones
<p>
La cadena es: ${"hola mundo"} <br />
5 + 10 es: ${5 + 10} <br />
La suma total es: ${total} <br />
</p>
Etiquetas de JSTL
Tags del Core JSTL
❑ <c:set> Asignacion de variables
<c:set var="nombre" value="Pagina JSP" />
<c:set var="correo" scope="session"
value="${param.correo}"} />

❑ <c:out> Usado salida de texto


<c:out value="Bienvenido..." />
<c:out value="${usuario}" default="No existe usuario" />
<c:out value="${sessionScope.usuario}" />
<c:out value="${param.nombre}" />

❑ <c:remove> eliminar variables


<c:remove var="nombre" scope="session" />
Tags del Core JSTL

❑ <c:param> Se usa para enviar parametros


❑ <c:catch> Se usa para capturar excepciones
❑ <c:import> Se usa para incluir un archivo
❑ <c:forTokens> Para recorrer una cadena delimitada
Tags del Core JSTL
❑ Implementar lógica condicional y loops sin tener que recurrir a scriptles.
❑ Permiten renderización condicional
❑ <c:if> Usado para renderizar condicionalmente segmentos de una página
<c:if test="${param.permitido == 'SI'}" var="bandera" scope="session">
<p>
Esta párrafo se muestra solo si el parámetro 'permitido' tiene el valor 'SI'
</p>
</c:if>
Tags del Core JSTL
❑ <c:choose> Renderizar partes de una pagina según condicion booleana
<c:choose>
<c:when test="${error1}">
Ocurrio el error: 1
</c:when>
<c:when test="${error2}">
Ocurrio el error: 2
</c:when>
<c:when test="${error3}">
Ocurrio el error: 3
</c:when>
<c:otherwise>
No hay error
</c:otherwise>
</c:choose>

❑ <c:forEach> Permite iterar a través de una clase o array


Tags del Core JSTL
❑ <c:forEach> Permite iterar a través de una clase o array
<p>La lista de estudiantes es:</p>
<table>
<tr>
<th>Nombre</th>
<th>Apellidos</th>
</tr>
<c:forEach var="item" items="${sessionScope.estudiantes}">
<tr>
<td><c:out value="${item.nombre}"/></td>
<td><c:out value="${item.apellidos}"/></td>
</tr>
</c:forEach>
</table>
Tags del Core JSTL
❑ <c:forTokens> Permita la iteración de cadenas delimitadas
<c:set var="colores" value="Rojo, Verde, Azul"/>
Los tokens son los siguientes:
<p>
<c:forTokens items="${colores}" delims="," var="token">
<c:out value="${token}"/> <br/>
</c:forTokens>
</p>
❑ NOTA. En los proyectos con Maven es necesario agregar la dependencia:
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>jstl</artifactId>
<version>1.2</version>
</dependency>
Ejercicios
1. Desarrollar una aplicación para gestionar una lista de tareas utilizando JSTL

También podría gustarte