Descargar la presentación
La descarga está en progreso. Por favor, espere
Publicada porEduardo Luna Maidana Modificado hace 10 años
1
JavaServer Pages Standard Tag Library (JSTL) Dr. Diego Lz. de Ipiña Gz. de Artaza
2
JSTL Objetivo: Simplificar y agilizar el desarrollo de aplicaciones web 3ra iteración después de servlets y JSPs Sirven para la generación dinámica de páginas web
3
Instalar JSTL Asumimos que ya has instalado Tomcat 4.1 en tu máquina, si no consíguelo de: http://apache.rediris.es/jakarta/tomcat- 4/v4.1.29/bin/jakarta-tomcat-4.1.29-LE-jdk14.exe http://apache.rediris.es/jakarta/tomcat- 4/v4.1.29/bin/jakarta-tomcat-4.1.29-LE-jdk14.exe Bajar JSTL de: http://apache.rediris.es/jakarta/taglibs/standard- 1.0/jakarta-taglibs-standard-current.zipjakarta-taglibs-standard-current.zip Copiar archivos standard.jar y jstl.jar a Tomcat4.1\common\lib
4
Usar JSTL en una aplicación Web Para cualquier aplicación web desde la cual quieres usar JSTL, copiar los ficheros.tld al directorio WEB-INF de tu aplicación web. Edita el web.xml de tu aplicación web añadiendo las siguientes entradas http://java.sun.com/jstl/fmt /WEB-INF/fmt.tld http://java.sun.com/jstl/core /WEB-INF/c.tld http://java.sun.com/jstl/sql /WEB-INF/sql.tld http://java.sun.com/jstl/x /WEB-INF/x.tld Estas entradas permiten a tu aplicación web usar las librerías de etiquetas JSTL que usan el lenguaje de expresiones. La posición de estas entradas tiene importancia.
5
Características Las páginas JSTL son también páginas JSP. JSTL es un superconjunto de JSP. JSTL provee un conjunto de cuatro librerías estándar: Core Internationalization/format XML y SQL Además JSTL define un nuevo lenguaje de expresiones llamado EL Una etiqueta JSTL corresponde a una acción; llamándolas acción nos indica que añaden comportamiento dinámico a una, de otra manera, página estática.
6
Soporte para EL I El lenguaje de expresiones EL simplemente define un poderoso mecanismo para expresar expresiones simples en una sintáxis muy sencilla. Es algo entre JavaScript y Perl. Su combinación con las etiquetas de las 4 librerías antes mencionadas proveen mucha flexibilidad y poder para el desarrollo de páginas dinámicas. En EL las expresiones están delimitadas por ${ }.
7
Soporte para EL II Algunos ejemplos del uso de EL son: ${anExpression} ${aList[4]} ${aList[someVariable]} acceso a un elemento de una colección ${anObject.aProperty} acceso a la propiedad de un objeto ${anObject["aPropertyName"]} entrada en un mapa con propiedad aPropertyName ${anObject[aVariableContainingPropertyName]} Existen una serie de variables implícitas definidas en EL: pageContext : el contexto del JSP actual pageScope, requestScope, sessionScope, and applicationScope : colecciones de mapas que mapean nombres de variables en esos contextos a valores param and paramValues : parámetros pasados con la petición de la página, lo micmo que en JSP header and headerValues : cabeceras pasadas en la petición de la página cookie : mapa que mapea nombres de cookies a los valores de las mismas
8
JSTL Tag Libraries LibreríaPrefijo librería ELPrefijo de Librería Request-time (RT) Corecc_rt Internationalization/form at fmtfmt_rt SQL/DB supportsqlsql_rt XMLxx_rt
9
Uso de las librerías JSTL en un JSP La siguiente directiva ha de incluirse al comienzo de la página: Para utilizar una etiqueta de una librería simplemente se ha de preceder con el prefijo de la librería utilizada:
10
La librería de etiquetas Core Permiten llevar a cabo las siguientes acciones: Visualizar/asignar valores y manejar excepciones Control de flujo Otras acciones de utilidad
11
Visualizar/asignar valores y manejar excepciones con Core I Para visualizar valores utilizamos: <c:out: value="${applicationScope.product.inventoryCount}" escapeXml="true" default="0" /> of those items in stock. escapeXml indica si hay que aplicar códigos de escape a los caracteres, & y. Asignar una variable en una página: scope indica el contexto en el que se define la variable También podemos asignar el contenido de una etiqueta a una variable:
12
Visualizar/asignar valores y manejar excepciones con Core II Normalmente en un JSP o incluimos un bloque try/catch o usamos la directiva errorPage : Para borrar una variable se puede utilizar
13
Control de flujo con JSTL Core I Para llevar a cabo simples condiciones ( c:if ): You are the millionth visitor to our site! Congratulations! El switch de un lenguaje de programación se puede emular con c:choose :............
14
Control de flujo con JSTL Core II Para iterar sobre una colección se define c:foreach. Se pueden especificar índice de comienzo, final e incremento con los atributos begin, end y step.
15
Control de flujo con JSTL Core III Funcionalidad similar a StringTokenizer puede ser obtenida en JSTL con c:forTokens :
16
Listar todos los parámetros pasados a una petición Parameter Listing Example Parameter values passed to this page for each parameter:
17
Otras acciones Para codificar URLs se puede utilizar c:url : '>Register Se pueden importar otros JSPs o incluso otros recursos en una URL arbitraria usando c:import (análogo to jsp:include ) Para manejar redireccionamiento se puede utilizar la etiqueta c:redirect
18
La librería de etiquetas de internacionalización I Cubre dos áreas: Etiquetas (acciones) de formateo Acciones de internacionalización Acciones de formateo: Inspiradas en el funcionamiento de las clases DateFormat y NumberFormat Para formatear un número usamos formatNumber con los atributos number para el número y pattern para el patrón de formateo a aplicar. Si queremos parsear un número a partir de un string usamos parseNumber : Para formatear una fecha usamos formatDate y para parsear un string parseDate :
19
La librería de etiquetas de internacionalización II Acciones de internacionalización: Una pieza imporante de la localización en Java es la clase ResourceBundle. Las acciones JSTL que permiten trabajar con esta clase son: fmt:bundle para obtener un ResourceBundle correspondiente al Locale actual y fmt:message para hacer lookups en el ResourceBundle Ejemplo:
20
La librería de etiquetas SQL I JSTL permite una fácil integración con bases de datos No gestiona bien connection pooling, por tanto son solamente adecuadas para llevar a cabo prototipos o aplicaciones de bajo volumen. Ejemplo: seleccionar y visualizar un conjunto de elementos SELECT * FROM items WHERE order_id = ORDER BY price
21
La librería de etiquetas SQL II También se soportan acciones para manejar transacciones ( sql:transaction ), sql:update soporta no sólo updates sino que también insert y delete e incluso create, es decir todas las acciones SQL que no devuelven un resultado: UPDATE account SET account_balance =account_balance -? WHERE accountNo = ? UPDATE account SET account_balance =account_balance +? WHERE accountNo = ?
22
La librería de etiquetas XML I El soporte de XML que lleva a cabo JSTL conforma con la especificación XPath. Xpath provee una sintáxis clara para acceder a partes jerárquicas de un documento. Acciones c:import es utilizada para importar un documento, mientras x:parse para genera un árbol DOM a partir de él. x:set crea una variable a partir de un extracto de XML
23
La librería de etiquetas XML II JSTL se integra fenomenálmente con XSTL Artist Album Year Genre
24
La librería de etiquetas XML III --> Jonny B Feedback and Distortion 2001 Rock Harmony's Nieces Sappy Pop Ballads 2002 Pop
25
La librería de etiquetas XML IV Una manera más sencilla de realizar una transformación XSLT sería:
26
Recursos Javadoc de JSTL APIs es disponible en: http://www.jcp.org/aboutJava/community process/final/jsr052/
27
Conclusiones A codificar ahora que lo sabes todo sobre JSTL Tarea: transformar la aplicación de JSPs que realizasteis usando JSTL
Presentaciones similares
© 2025 SlidePlayer.es Inc.
All rights reserved.