La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

JavaServer Pages Standard Tag Library (JSTL) Dr. Diego Lz. de Ipiña Gz. de Artaza.

Presentaciones similares


Presentación del tema: "JavaServer Pages Standard Tag Library (JSTL) Dr. Diego Lz. de Ipiña Gz. de Artaza."— Transcripción de la presentación:

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


Descargar ppt "JavaServer Pages Standard Tag Library (JSTL) Dr. Diego Lz. de Ipiña Gz. de Artaza."

Presentaciones similares


Anuncios Google