SlideShare una empresa de Scribd logo
Java Web
JSP
http://javacuriosities.blogspot.com/
JSP (Java Server Pages)
Java Web
Una pagina JSP contiene código HTML y JSP tags, la idea es poder
separar el diseño y el desarrollo.
Los JPS son Servlet ya que su código se traduce a clases Java que son
Servlets.
Ventajas:
- Extienden a los Servlet: Podemos usar todas las características de los Servlets
y además las características nuevas que trae esta tecnología, objetos
implícitos, tags predefinidos, tags customizados, expression language y su
desarrollo es simple.
- Fácil mantenimiento: Podemos separar nuestra lógica de negocio y nuestra
lógica de presentación, con los Servlets hacemos todo junto.
- Desarrollo rápido: Cuando los JSP cambian no hay necesidad de hacer re-
deploy, si cambiamos un Servlet debemos hacer re-deploy.
Ciclo de vida de un JSP
Java Web
1. Traducción de la
pagina JSP.
2. Compilación de la
pagina JSP.
3. Cargado de la clase
(Classloading)
4. Instanciación (Servlet
es creado)
5. Inicialización (método
jspInit() es invocado)
6. Request (método
_jspService() es
invocado)
7. Destrucción (método
jspDestroy es
invocado)
JSP Scripting
Java Web
Dentro de los JSP podemos escribir código Java usando tags de JSP.
- Scriptlet tag
- Declaration tag
- Expression tag
Scriptlet tag
Java Web
Los scriptlets son partes de código Java incrustadas entre los elementos
estáticos de la página.
Dentro de los tag de scriptlet solo podemos definir variables.
El código generado por los scriptlet es ubicado dentro del método
_jspService(), o sea se ejecuta por cada request.
Sintaxis:
<% Java Source Code %>
Declaration tag
Java Web
Dentro del tag declaration podemos definir atributos y métodos, además
estos datos pueden ser estáticos.
El código generado por los declaration es ubicado fuera del método
_jspService(), o sea son atributos de instancia del Servlet.
Sintaxis:
<%! Java Source Code %>
Expression tag
Java Web
Dentro del tag expression podemos definir código java que se evalúa en el
Servlet y luego se muestra su resultado.
Estos tag no pueden terminar en ;
Sintaxis:
<%= Java Source Code %>
Comentarios
Java Web
Si nos encontramos dentro de un bloque JSP o sea dentro de alguno de
los tag podemos usar los comentarios que provee Java ya que estamos
escribiendo código Java.
// Comment Here Comentario de una línea.
/* Comment Here */ Comentario multilinea.
Si nos encontramos fuera del tag debemos usar comentarios HTML
<!-- Comment Here -->
Otra opción es usar comentarios del estilo
<%-- Comment Here --%>
La diferencia radica en que los comentarios HTML pueden ser visualizados
por el cliente.
Objetos Implícitos I
Java Web
Tenemos 9 objetos implícitos que son creados por el Web-Container.
Objeto Tipo
out JspWriter
request HttpServletRequest
response HttpServletResponse
config ServletConfig
application ServletContext
session HttpSession
pageContext PageContext
page Object
exception Throwable
Objetos Implícitos II
Java Web
out: Es el objeto usado para escribir el resultado de la petición,
básicamente es el writer.
request: Es el objeto que usamos para obtener los datos desde el request.
response: Es el objeto que usamos para manejar el response.
config: Por cada JSP tenemos un objeto config que podemos usar para
definir parámetros propios de cada JSP.
application: Objeto que es utilizado por la aplicación en el cual se pueden
definir parámetros iniciales y es compartido por todos los JSP.
session: Objeto que representa una sesión de usuario.
pageContext: Objeto que puede ser usado para definir atributos en
distintos scope (page, request, session, application).
Page: Objeto que representa el JSP.
Exception: Objeto que contiene la excepción generada por el JSP.
Directivas JSP
Java Web
Las directivas son indicaciones para el Web-Container que son usadas al
momento de la traducción, tenemos tres tipos de directivas:
- Page directive
- Include directive
- Taglib directive
Page directive
Java Web
Sirven para definir atributos que afectan a todo el JSP.
Sintaxis:
<%@ page attribute="valor" %>
Atributo Proposito Valor por defecto
import Permite especificar la lista de clases Java que son usadas por el JSP.
contentType Define el atirbutto MIME (Multipurpose Internet Mail Extension), esto sirve para el tipo de respuesta. "text/html;charset=ISO-8859-1"
extends Define cual va a ser la clase super del Servlet, no es muy usado.
info Define el mensaje que va a devolver el metodo getServletInfo() .
buffer Define el tamaño del buffer que usara el output. 8Kb.
language Nos permite definir el lenguaje usado en el JSP. Solo es soportado la opcion Java. java
isELIgnored Para ignorar los Expression Language false
isThreadSafe Indica si el JSP actual es Thread-Safe true
autoFlush Indica si el buffer tiene que ser flusheado automaticamente cuando se llene o arrojar una exception true
session Indica si el JSP puede usar HTTP Sessions true
pageEncoding Permite definir el character encoding ISO-8859-1
errorPage Permite definir la pagina a la cual seremos redireccionadso en caso de error
isErrorPage Marca el JSP como una pagina de error false
isScriptingEnabled Habilita el uso de scriptlets, expressions, declarations true
Include directive
Java Web
Sirve para incluir archivos al momento de la traducción del JSP, se puede
realizar la inclusión en cualquier parte del JSP.
Sintaxis:
<%@ include file="archivo" %>
Taglib directive
Java Web
Sirve para definir tag que podemos usar en el JSP, puede ser tag de
terceras partes o tag propios.
Sintaxis:
<%@ taglib uri="path al tag library" prefix="prefijo que usaremos en el jsp" %>
Action Tags
Java Web
Podemos utilizar varios tags que nos pueden ayudar a la hora de codificar el
JSP.
▪ jsp:forward
▪ jsp:include
▪ jsp:useBean
▪ jsp:setProperty
▪ jsp:getProperty
Forward and Include
Java Web
Forward
<jsp:forward page= "datos.jsp" >
<jsp:param name= "parametro" value= "valor" />
</jsp:forward>
Include
<jsp:include page= "datos.jsp" >
<jsp:param name= "parametro" value= "valor" />
</jsp:include>
Java Bean
Java Web
Una clase Java Bean debe cumplir ciertas convenciones
▪ Constructor sin parámetros
▪ Debe ser serializable
▪ Debe implementar métodos Accesors
El tag tiene algunas propiedades
▪ id: El nombre que debemos usar desde nuestro código.
▪ class: Paquete y clase de que objeto se crea.
▪ scope: Permite definir la visibilidad del bean (page, request, session,
applicaton), por defecto la visibilidad es page.
▪ type: Indica un tipo para el bean debe ser igual al class o una superclase.
▪ beanName: Si usamos este atributo se crea el bean usando
Beans.instantiate.
Bean Setter
Java Web
<jsp:setProperty name= "bean" property= "*" |
property="propertyName" param="parameterName" |
property="propertyName" value="{ string | <%= expression %>}" />
▪ name: Debe ser el id del bean que queremos
▪ property: Debe ser el nombre de la property o * para setear todos los
valores que vienen del request.
▪ param: Es opcional, nos permite indicar el nombre del parametro en el
request.
▪ value: El valor que deseamos asignarle.
Bean Getter
Java Web
<jsp:getProperty name="bean" property="propertyName" />
▪ name: Debe ser el id del bean que queremos
▪ property: Debe ser el nombre de la property que queremos obtener.
Expression Language (EL)
Java Web
EL (Expression Language) es un lenguaje utilizado en las paginas JSP para
interactuar con los datos que tenemos en nuestros bean, request, session,
etc.
Hay varios objetos implícitos ya definidos y brinda el poder para ejecutar
funciones dentro de los tag de EL.
Sintaxis:
${ expression }
Objeto Descripcion
pageScope Map asociado a las atributos seteado a nivel de page
requestScope Map asociado a las atributos seteado a nivel de request
sessionScope Map asociado a las atributos seteado a nivel de session
applicationScope Map asociado a las atributos seteado a nivel de application
param Map con los parametros del request con valores simples
paramValues Map con los parametros del request con valores arrays
header Map con los parametros del header con valores simples
headerValues Map con los parametros del header con valores arrays
cookie Map con las cookies
initParam Map con los parametros de contexto
pageContext Provee acceso a servletContext, session, request, response
JSP EL puntos importantes
Java Web
▪ EL se escriben siempre con {} y usando el signo $
▪ Podemos desactivar EL usando la directiva page y el atributo isELIgnored
▪ EL puede ser usado para obtener atributos, header, cookies, init params
etc, pero no podemos setear valores.
▪ EL implicit objects son distintos que JSP implicit objects excepto
pageContext
▪ EL pageContext brinda mas información del request y response, por
ejemplo el HTTP method
▪ EL es NULL friendly, El NULL es tratado como 0 o false dependiendo el
contexto
▪ El operador [] es mas poderoso que el operador . porque además permite
acceder listas y arrays
▪ También podemos invocar funciones desde EL para llamar métodos en
clases Java
JSTL (JSP Standard Tag Library)
Java Web
JSTL no es más que un conjunto de librerías de etiquetas simples y
estándares que encapsulan la funcionalidad principal que es usada
comúnmente para escribir páginas JSP. Las etiquetas JSTL están
organizadas en 5 librerías:
- core: Comprende las funciones script básicas como loops, condicionales, y
entrada/salida.
- xml: Comprende el procesamiento de xml
- fmt: Comprende la internacionalización y formato de valores como de moneda y
fechas.
- sql: Comprende el acceso a base de datos.
- fn: Comprende un grupo de funciones para Collections y String.
JSTL (JSP Standard Tag Library)
Java Web
Cada categoria tiene un prefijo asociado, podemos usar el que nosotros querramos
pero en general se usa el prefijo ya definido por el standard. Las URI pueden variar
en base a la version de JSTL que estemos usando.
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/xml" prefix="x" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/sql" prefix="sql" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn" %>

Más contenido relacionado

La actualidad más candente (20)

PPTX
Casos de Uso ejercicios
Walter Chacon
 
DOC
Ejemplo plan de desarrollo de software rup
Xochitl Saucedo Muñoz
 
PPTX
Rxjs ngvikings
Christoffer Noring
 
PDF
¿Cómo realizar entrevistas eficaces para obtener requisitos de software?
Software Guru
 
PPTX
Psp (personal software process) guia 0 introducción
Alejandra Ceballos
 
PPT
Grails Connecting to MySQL
ashishkirpan
 
PPT
Pentest Application With GraphQL | Null Bangalore Meetup
Divyanshu
 
PPT
Ejemplo rup
angel2365
 
PDF
REST API and CRUD
Prem Sanil
 
PPTX
Procedimientos almacenados
thalia margarita serrano diaz
 
DOCX
Prototipos2
Jose Torres Gonzales
 
PPTX
Prepared statement
Lisbeth Ocaña Bueno
 
PPTX
Deep dive into Java security architecture
Prabath Siriwardena
 
PPSX
Rest api standards and best practices
Ankita Mahajan
 
PDF
Java 8 Stream API. A different way to process collections.
David Gómez García
 
PDF
Gestion de formularios php
williamCG27
 
PPTX
Tecnicas de estimacion de software
Ades27
 
PPTX
Tutorial de MySQL
Estephania Villarreal
 
Casos de Uso ejercicios
Walter Chacon
 
Ejemplo plan de desarrollo de software rup
Xochitl Saucedo Muñoz
 
Rxjs ngvikings
Christoffer Noring
 
¿Cómo realizar entrevistas eficaces para obtener requisitos de software?
Software Guru
 
Psp (personal software process) guia 0 introducción
Alejandra Ceballos
 
Grails Connecting to MySQL
ashishkirpan
 
Pentest Application With GraphQL | Null Bangalore Meetup
Divyanshu
 
Ejemplo rup
angel2365
 
REST API and CRUD
Prem Sanil
 
Procedimientos almacenados
thalia margarita serrano diaz
 
Prepared statement
Lisbeth Ocaña Bueno
 
Deep dive into Java security architecture
Prabath Siriwardena
 
Rest api standards and best practices
Ankita Mahajan
 
Java 8 Stream API. A different way to process collections.
David Gómez García
 
Gestion de formularios php
williamCG27
 
Tecnicas de estimacion de software
Ades27
 
Tutorial de MySQL
Estephania Villarreal
 

Similar a Java Web - JSP (20)

ODP
Curso Jsp Mas
Luis Cerra
 
PDF
Introducción al desarrollo de aplicaciones web en Java
Eudris Cabrera
 
PDF
JSP
AnthonyFisi
 
PDF
Sesion06 apuntes
AnthonyFisi
 
PPT
Tema2a Jsp
guest03a5107
 
ODP
Curso Jsp
Luis Cerra
 
PDF
Jsp Paginacion
luis angel aranda
 
PPT
Curso Java Avanzado 3 Js Ps
Emilio Aviles Avila
 
PDF
Jsp
Julio Pari
 
PDF
Practica jsp
macarenabw
 
PDF
Jsp
guest7bc524
 
PDF
[ES] Introducción a las Aplicaciones Web con Java
Eudris Cabrera
 
ODP
JSP
Danii1204
 
PPT
introduccion-a-las-aplicaciones-web-y-tecnologia-java.ppt
BYRONMIGUELSUBUYUCPA
 
PDF
4. Curso Java JSP (Java Server Pages) - Curso 2005-2006
Samuel Marrero
 
PDF
[ES] Introdución al desarrollo de aplicaciones web en java
Eudris Cabrera
 
PDF
JavaServer Page
Eric Gustavo Coronel Castillo
 
Curso Jsp Mas
Luis Cerra
 
Introducción al desarrollo de aplicaciones web en Java
Eudris Cabrera
 
Sesion06 apuntes
AnthonyFisi
 
Tema2a Jsp
guest03a5107
 
Curso Jsp
Luis Cerra
 
Jsp Paginacion
luis angel aranda
 
Curso Java Avanzado 3 Js Ps
Emilio Aviles Avila
 
Practica jsp
macarenabw
 
[ES] Introducción a las Aplicaciones Web con Java
Eudris Cabrera
 
introduccion-a-las-aplicaciones-web-y-tecnologia-java.ppt
BYRONMIGUELSUBUYUCPA
 
4. Curso Java JSP (Java Server Pages) - Curso 2005-2006
Samuel Marrero
 
[ES] Introdución al desarrollo de aplicaciones web en java
Eudris Cabrera
 
Publicidad

Más de Luis Miguel De Bello (20)

PPSX
Java Web Services - REST
Luis Miguel De Bello
 
PPSX
Java Web Services - SOAP Temas Adicionales
Luis Miguel De Bello
 
PPSX
Java Web Services - SOAP Binding
Luis Miguel De Bello
 
PPTX
Java Web Services - Introduccion
Luis Miguel De Bello
 
PPTX
Java Web - JSF
Luis Miguel De Bello
 
PPTX
Java Web - Struts
Luis Miguel De Bello
 
PPTX
Java Web - Servlet
Luis Miguel De Bello
 
PPTX
Base de datos - Clase 2
Luis Miguel De Bello
 
PPTX
Base de datos - Clase 3
Luis Miguel De Bello
 
PPTX
Base de datos - Clase 1
Luis Miguel De Bello
 
PPTX
Base de datos - Clase 4
Luis Miguel De Bello
 
PPTX
Java Web - Session
Luis Miguel De Bello
 
PPTX
Java Web - Introduccion
Luis Miguel De Bello
 
PDF
Sockets TCP
Luis Miguel De Bello
 
PDF
Sockets UDP
Luis Miguel De Bello
 
PDF
Thread 02
Luis Miguel De Bello
 
PDF
Thread 01
Luis Miguel De Bello
 
PDF
Administración de memoria en java
Luis Miguel De Bello
 
PPT
Best Practices
Luis Miguel De Bello
 
Java Web Services - REST
Luis Miguel De Bello
 
Java Web Services - SOAP Temas Adicionales
Luis Miguel De Bello
 
Java Web Services - SOAP Binding
Luis Miguel De Bello
 
Java Web Services - Introduccion
Luis Miguel De Bello
 
Java Web - JSF
Luis Miguel De Bello
 
Java Web - Struts
Luis Miguel De Bello
 
Java Web - Servlet
Luis Miguel De Bello
 
Base de datos - Clase 2
Luis Miguel De Bello
 
Base de datos - Clase 3
Luis Miguel De Bello
 
Base de datos - Clase 1
Luis Miguel De Bello
 
Base de datos - Clase 4
Luis Miguel De Bello
 
Java Web - Session
Luis Miguel De Bello
 
Java Web - Introduccion
Luis Miguel De Bello
 
Administración de memoria en java
Luis Miguel De Bello
 
Best Practices
Luis Miguel De Bello
 
Publicidad

Último (6)

PPTX
sistemas información caracteríaticas-1.pptx
forozco17fo2
 
PDF
AU-COMO INICIAR SESIÓN EN ANYDESK CON CRTL+ALT+SUP DESHABILITADO.pdf
Serviciojat
 
PPTX
Tema6 estructuras condicionales básicas pseint.pptx
lmcsenatic
 
PPTX
Presentacion Python en Microbit (Primeros pasos)
rcamilot
 
PPT
ONSULTA A PARTIR DE MULTIPLES TABLAS .ppt
42982335
 
PDF
Variacion ciclica .pdf untumbes estadística
130021222
 
sistemas información caracteríaticas-1.pptx
forozco17fo2
 
AU-COMO INICIAR SESIÓN EN ANYDESK CON CRTL+ALT+SUP DESHABILITADO.pdf
Serviciojat
 
Tema6 estructuras condicionales básicas pseint.pptx
lmcsenatic
 
Presentacion Python en Microbit (Primeros pasos)
rcamilot
 
ONSULTA A PARTIR DE MULTIPLES TABLAS .ppt
42982335
 
Variacion ciclica .pdf untumbes estadística
130021222
 

Java Web - JSP

  • 2. JSP (Java Server Pages) Java Web Una pagina JSP contiene código HTML y JSP tags, la idea es poder separar el diseño y el desarrollo. Los JPS son Servlet ya que su código se traduce a clases Java que son Servlets. Ventajas: - Extienden a los Servlet: Podemos usar todas las características de los Servlets y además las características nuevas que trae esta tecnología, objetos implícitos, tags predefinidos, tags customizados, expression language y su desarrollo es simple. - Fácil mantenimiento: Podemos separar nuestra lógica de negocio y nuestra lógica de presentación, con los Servlets hacemos todo junto. - Desarrollo rápido: Cuando los JSP cambian no hay necesidad de hacer re- deploy, si cambiamos un Servlet debemos hacer re-deploy.
  • 3. Ciclo de vida de un JSP Java Web 1. Traducción de la pagina JSP. 2. Compilación de la pagina JSP. 3. Cargado de la clase (Classloading) 4. Instanciación (Servlet es creado) 5. Inicialización (método jspInit() es invocado) 6. Request (método _jspService() es invocado) 7. Destrucción (método jspDestroy es invocado)
  • 4. JSP Scripting Java Web Dentro de los JSP podemos escribir código Java usando tags de JSP. - Scriptlet tag - Declaration tag - Expression tag
  • 5. Scriptlet tag Java Web Los scriptlets son partes de código Java incrustadas entre los elementos estáticos de la página. Dentro de los tag de scriptlet solo podemos definir variables. El código generado por los scriptlet es ubicado dentro del método _jspService(), o sea se ejecuta por cada request. Sintaxis: <% Java Source Code %>
  • 6. Declaration tag Java Web Dentro del tag declaration podemos definir atributos y métodos, además estos datos pueden ser estáticos. El código generado por los declaration es ubicado fuera del método _jspService(), o sea son atributos de instancia del Servlet. Sintaxis: <%! Java Source Code %>
  • 7. Expression tag Java Web Dentro del tag expression podemos definir código java que se evalúa en el Servlet y luego se muestra su resultado. Estos tag no pueden terminar en ; Sintaxis: <%= Java Source Code %>
  • 8. Comentarios Java Web Si nos encontramos dentro de un bloque JSP o sea dentro de alguno de los tag podemos usar los comentarios que provee Java ya que estamos escribiendo código Java. // Comment Here Comentario de una línea. /* Comment Here */ Comentario multilinea. Si nos encontramos fuera del tag debemos usar comentarios HTML <!-- Comment Here --> Otra opción es usar comentarios del estilo <%-- Comment Here --%> La diferencia radica en que los comentarios HTML pueden ser visualizados por el cliente.
  • 9. Objetos Implícitos I Java Web Tenemos 9 objetos implícitos que son creados por el Web-Container. Objeto Tipo out JspWriter request HttpServletRequest response HttpServletResponse config ServletConfig application ServletContext session HttpSession pageContext PageContext page Object exception Throwable
  • 10. Objetos Implícitos II Java Web out: Es el objeto usado para escribir el resultado de la petición, básicamente es el writer. request: Es el objeto que usamos para obtener los datos desde el request. response: Es el objeto que usamos para manejar el response. config: Por cada JSP tenemos un objeto config que podemos usar para definir parámetros propios de cada JSP. application: Objeto que es utilizado por la aplicación en el cual se pueden definir parámetros iniciales y es compartido por todos los JSP. session: Objeto que representa una sesión de usuario. pageContext: Objeto que puede ser usado para definir atributos en distintos scope (page, request, session, application). Page: Objeto que representa el JSP. Exception: Objeto que contiene la excepción generada por el JSP.
  • 11. Directivas JSP Java Web Las directivas son indicaciones para el Web-Container que son usadas al momento de la traducción, tenemos tres tipos de directivas: - Page directive - Include directive - Taglib directive
  • 12. Page directive Java Web Sirven para definir atributos que afectan a todo el JSP. Sintaxis: <%@ page attribute="valor" %> Atributo Proposito Valor por defecto import Permite especificar la lista de clases Java que son usadas por el JSP. contentType Define el atirbutto MIME (Multipurpose Internet Mail Extension), esto sirve para el tipo de respuesta. "text/html;charset=ISO-8859-1" extends Define cual va a ser la clase super del Servlet, no es muy usado. info Define el mensaje que va a devolver el metodo getServletInfo() . buffer Define el tamaño del buffer que usara el output. 8Kb. language Nos permite definir el lenguaje usado en el JSP. Solo es soportado la opcion Java. java isELIgnored Para ignorar los Expression Language false isThreadSafe Indica si el JSP actual es Thread-Safe true autoFlush Indica si el buffer tiene que ser flusheado automaticamente cuando se llene o arrojar una exception true session Indica si el JSP puede usar HTTP Sessions true pageEncoding Permite definir el character encoding ISO-8859-1 errorPage Permite definir la pagina a la cual seremos redireccionadso en caso de error isErrorPage Marca el JSP como una pagina de error false isScriptingEnabled Habilita el uso de scriptlets, expressions, declarations true
  • 13. Include directive Java Web Sirve para incluir archivos al momento de la traducción del JSP, se puede realizar la inclusión en cualquier parte del JSP. Sintaxis: <%@ include file="archivo" %>
  • 14. Taglib directive Java Web Sirve para definir tag que podemos usar en el JSP, puede ser tag de terceras partes o tag propios. Sintaxis: <%@ taglib uri="path al tag library" prefix="prefijo que usaremos en el jsp" %>
  • 15. Action Tags Java Web Podemos utilizar varios tags que nos pueden ayudar a la hora de codificar el JSP. ▪ jsp:forward ▪ jsp:include ▪ jsp:useBean ▪ jsp:setProperty ▪ jsp:getProperty
  • 16. Forward and Include Java Web Forward <jsp:forward page= "datos.jsp" > <jsp:param name= "parametro" value= "valor" /> </jsp:forward> Include <jsp:include page= "datos.jsp" > <jsp:param name= "parametro" value= "valor" /> </jsp:include>
  • 17. Java Bean Java Web Una clase Java Bean debe cumplir ciertas convenciones ▪ Constructor sin parámetros ▪ Debe ser serializable ▪ Debe implementar métodos Accesors El tag tiene algunas propiedades ▪ id: El nombre que debemos usar desde nuestro código. ▪ class: Paquete y clase de que objeto se crea. ▪ scope: Permite definir la visibilidad del bean (page, request, session, applicaton), por defecto la visibilidad es page. ▪ type: Indica un tipo para el bean debe ser igual al class o una superclase. ▪ beanName: Si usamos este atributo se crea el bean usando Beans.instantiate.
  • 18. Bean Setter Java Web <jsp:setProperty name= "bean" property= "*" | property="propertyName" param="parameterName" | property="propertyName" value="{ string | <%= expression %>}" /> ▪ name: Debe ser el id del bean que queremos ▪ property: Debe ser el nombre de la property o * para setear todos los valores que vienen del request. ▪ param: Es opcional, nos permite indicar el nombre del parametro en el request. ▪ value: El valor que deseamos asignarle.
  • 19. Bean Getter Java Web <jsp:getProperty name="bean" property="propertyName" /> ▪ name: Debe ser el id del bean que queremos ▪ property: Debe ser el nombre de la property que queremos obtener.
  • 20. Expression Language (EL) Java Web EL (Expression Language) es un lenguaje utilizado en las paginas JSP para interactuar con los datos que tenemos en nuestros bean, request, session, etc. Hay varios objetos implícitos ya definidos y brinda el poder para ejecutar funciones dentro de los tag de EL. Sintaxis: ${ expression } Objeto Descripcion pageScope Map asociado a las atributos seteado a nivel de page requestScope Map asociado a las atributos seteado a nivel de request sessionScope Map asociado a las atributos seteado a nivel de session applicationScope Map asociado a las atributos seteado a nivel de application param Map con los parametros del request con valores simples paramValues Map con los parametros del request con valores arrays header Map con los parametros del header con valores simples headerValues Map con los parametros del header con valores arrays cookie Map con las cookies initParam Map con los parametros de contexto pageContext Provee acceso a servletContext, session, request, response
  • 21. JSP EL puntos importantes Java Web ▪ EL se escriben siempre con {} y usando el signo $ ▪ Podemos desactivar EL usando la directiva page y el atributo isELIgnored ▪ EL puede ser usado para obtener atributos, header, cookies, init params etc, pero no podemos setear valores. ▪ EL implicit objects son distintos que JSP implicit objects excepto pageContext ▪ EL pageContext brinda mas información del request y response, por ejemplo el HTTP method ▪ EL es NULL friendly, El NULL es tratado como 0 o false dependiendo el contexto ▪ El operador [] es mas poderoso que el operador . porque además permite acceder listas y arrays ▪ También podemos invocar funciones desde EL para llamar métodos en clases Java
  • 22. JSTL (JSP Standard Tag Library) Java Web JSTL no es más que un conjunto de librerías de etiquetas simples y estándares que encapsulan la funcionalidad principal que es usada comúnmente para escribir páginas JSP. Las etiquetas JSTL están organizadas en 5 librerías: - core: Comprende las funciones script básicas como loops, condicionales, y entrada/salida. - xml: Comprende el procesamiento de xml - fmt: Comprende la internacionalización y formato de valores como de moneda y fechas. - sql: Comprende el acceso a base de datos. - fn: Comprende un grupo de funciones para Collections y String.
  • 23. JSTL (JSP Standard Tag Library) Java Web Cada categoria tiene un prefijo asociado, podemos usar el que nosotros querramos pero en general se usa el prefijo ya definido por el standard. Las URI pueden variar en base a la version de JSTL que estemos usando. <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %> <%@ taglib uri="http://java.sun.com/jsp/jstl/xml" prefix="x" %> <%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt" %> <%@ taglib uri="http://java.sun.com/jsp/jstl/sql" prefix="sql" %> <%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn" %>