SlideShare une entreprise Scribd logo
1  sur  15
Télécharger pour lire hors ligne
Eric Gustavo Coronel Castillo
gcoronelc.blogspot.com
gcoronelc@gmail.com
JAVA SERVER FACES
NAVEGACIÓN Y LENGUAJE
DE EXPRESIONES
Temas
 Navegación
 Demo
 Lenguaje de Expresiones
 Demo
NAVEGACION
NAVEGACIÓN CLASICA
Desde el inicio de la especificación, JSF 1.x cualquier caso de navegación por
trivial que fuese, requería una entrada en el fichero faces-config.xml. Cuando se
navegaba de page1.xhtml a page2.xhtml en respuesta a un éxito en un
componente, se introducía el siguiente código XML:
<navigation-rule>
<from-view-id>/page1.xhtml</from-view-id>
<navigation-case>
<from-outcome>success</from-outcome>
<to-view-id>/page2.xhtml</to-view-id>
</navigation-case>
</navigation-rule>
NAVEGACION
NAVEGACIÓN IMPLICITA
 JSF 2.x introduce una simplificación que reduce la
complejidad en la navegación.
 Introduce el concepto de navegación implícita.
 Si no hay ningún caso de navegación coincidente después
de comprobar todas las reglas disponibles, el controlador de
navegación comprueba que el resultado de la acción
corresponde al identificador de una vista.
 Si se encuentra una vista coincidente de los resultados de
acción, se navega de forma implícita a la vista encontrada.
NAVEGACION
NAVEGACIÓN IMPLICITA
– En el siguiente ejemplo vemos como en el h:commandButton, en el atributo action,
indicamos una cadena.
<h:commandButton
action="listTutorialsView"
value= "View Tutorials" />
– Esta no es EL, por lo que no estamos haciendo referencia a un backbean. Esta
cadena correspondería con el "outcome" que serviría para determinar la regla de
navegación a disparar. Pero como no hemos escrito ninguna regla de navegación
¿qué es lo que va ha hacer JSF 2.x? Sencillo, simplemente se limitará a buscar una
página con el mismo nombre y la extensión .xhtml.
– Es decir, si en nuestro ejemplo hemos puesto action="listTutorialsView", JSF 2.x
intentará saltar a la vista listTutorialsView.xhtml.
NAVEGACION
EN UN METODO
<h:commandButton
action="#{bean.doProcesar()}"
value= "Procesar" />
En la página JSF
public void doProcesar(){
}
En el Managed Bean
request
response
En este caso la navegación se realiza
con la página que realiza el request.
NAVEGACION
EN UN METODO
<h:commandButton
action="#{bean.doProcesar()}"
value= "Procesar" />
Página JSF
public String doProcesar(){
return "paginaDestino";
}
En el Managed Bean
request
En este caso la navegación se realiza
hacia la vista paginaDestino.
Página JSF: paginaDestino.xhtml
DEMO
LENGUAJE DE EXPRESIONES
EVALUACIÓN INMEDIATA
– Evalúa la expresión inmediatamente cuando la página es
preparada para ser mostrada.
– Las expresiones tienen la forma: ${ expr }.
– Son de solo lectura.
– Pueden estar en la parte estática de la página y como
valores de atributos en una etiqueta de JSF
– Ejemplo:
<fmt:formatNumber
value="${sessionScope.factura.total}"/>
LENGUAJE DE EXPRESIONES
EVALUACIÓN DIFERIDA
– Evalúa la expresión cuando sea necesario dentro del
ciclo de vida de la página web.
– Las expresiones tienen la forma #{ expr }
– Pueden leer y actualizar propiedades de los beans
(lectura/escritura)
– Solo pueden estar como valores de atributos de una
etiqueta de JSF.
– Ejemplo:
<h:inputText id="name" value="#{cliente.nombre}" />
LENGUAJE DE EXPRESIONES
EXPRESIONES DE METODOS
– Las expresiones pueden invocar métodos sin
parámetros:
– Ejemplo:
<h:commandButton
id="procesar"
value="Procesar"
action="#{factura.doProcesar()}" />
LENGUAJE DE EXPRESIONES
EXPRESIONES DE METODOS
– Las expresiones pueden invocar métodos con
parámetros.
– Ejemplos:
<h:commandButton
action="#{negocio.doComprar('TELEVISOR')}"
value="Comprar"/>
DEMO
https://goo.gl/v53pSS
Eric Gustavo Coronel Castillo
gcoronelc.blogspot.com
gcoronelc@gmail.com
JAVA SERVER FACES
Gracias

Contenu connexe

Tendances

JBossAS: Desarrollo con Java Server Faces
JBossAS: Desarrollo con Java Server FacesJBossAS: Desarrollo con Java Server Faces
JBossAS: Desarrollo con Java Server FacesAitor Acedo
 
1 curso javaserverfaces-presentacion_clase_1
1 curso javaserverfaces-presentacion_clase_11 curso javaserverfaces-presentacion_clase_1
1 curso javaserverfaces-presentacion_clase_1josezapana
 
09b jsf (1)
09b jsf (1)09b jsf (1)
09b jsf (1)UTN
 
Curso JAVA DESARROLLO DE APLICACIONES CON JSF.
Curso JAVA DESARROLLO DE APLICACIONES CON JSF.Curso JAVA DESARROLLO DE APLICACIONES CON JSF.
Curso JAVA DESARROLLO DE APLICACIONES CON JSF.CLEFormación
 
primefaces cortesia del portal de java
primefaces cortesia del portal de javaprimefaces cortesia del portal de java
primefaces cortesia del portal de javaSalvador Olivares
 
[ES] Conectividad de java a base de datos(jdbc)
[ES] Conectividad de java a base  de datos(jdbc)[ES] Conectividad de java a base  de datos(jdbc)
[ES] Conectividad de java a base de datos(jdbc)Eudris Cabrera
 
Desarrollo de Apps Web en Ruby on Rails
Desarrollo de Apps Web en Ruby on RailsDesarrollo de Apps Web en Ruby on Rails
Desarrollo de Apps Web en Ruby on RailsFreelancer
 
UDA-Componentes RUP. Mensajes (v2.1.1 deprecado)
UDA-Componentes RUP. Mensajes (v2.1.1 deprecado)UDA-Componentes RUP. Mensajes (v2.1.1 deprecado)
UDA-Componentes RUP. Mensajes (v2.1.1 deprecado)Ander Martinez
 
Integración WordPress / CodeIgniter - Ing. Enrique E. De Rosa Prieto
Integración WordPress / CodeIgniter - Ing. Enrique E. De Rosa PrietoIntegración WordPress / CodeIgniter - Ing. Enrique E. De Rosa Prieto
Integración WordPress / CodeIgniter - Ing. Enrique E. De Rosa PrietoPablo Ignacio de la Vega
 
Workshop 7: Single Page Applications
Workshop 7: Single Page ApplicationsWorkshop 7: Single Page Applications
Workshop 7: Single Page ApplicationsVisual Engineering
 

Tendances (20)

06. jsf (java server faces) (1)
06. jsf (java server faces) (1)06. jsf (java server faces) (1)
06. jsf (java server faces) (1)
 
JBossAS: Desarrollo con Java Server Faces
JBossAS: Desarrollo con Java Server FacesJBossAS: Desarrollo con Java Server Faces
JBossAS: Desarrollo con Java Server Faces
 
1 curso javaserverfaces-presentacion_clase_1
1 curso javaserverfaces-presentacion_clase_11 curso javaserverfaces-presentacion_clase_1
1 curso javaserverfaces-presentacion_clase_1
 
09b jsf (1)
09b jsf (1)09b jsf (1)
09b jsf (1)
 
Exposicion JSF
Exposicion JSFExposicion JSF
Exposicion JSF
 
Curso JAVA DESARROLLO DE APLICACIONES CON JSF.
Curso JAVA DESARROLLO DE APLICACIONES CON JSF.Curso JAVA DESARROLLO DE APLICACIONES CON JSF.
Curso JAVA DESARROLLO DE APLICACIONES CON JSF.
 
primefaces cortesia del portal de java
primefaces cortesia del portal de javaprimefaces cortesia del portal de java
primefaces cortesia del portal de java
 
Primefaces
PrimefacesPrimefaces
Primefaces
 
[ES] Conectividad de java a base de datos(jdbc)
[ES] Conectividad de java a base  de datos(jdbc)[ES] Conectividad de java a base  de datos(jdbc)
[ES] Conectividad de java a base de datos(jdbc)
 
Desarrollo de Apps Web en Ruby on Rails
Desarrollo de Apps Web en Ruby on RailsDesarrollo de Apps Web en Ruby on Rails
Desarrollo de Apps Web en Ruby on Rails
 
Jsf
JsfJsf
Jsf
 
Rails intro
Rails introRails intro
Rails intro
 
UDA-Componentes RUP. Mensajes (v2.1.1 deprecado)
UDA-Componentes RUP. Mensajes (v2.1.1 deprecado)UDA-Componentes RUP. Mensajes (v2.1.1 deprecado)
UDA-Componentes RUP. Mensajes (v2.1.1 deprecado)
 
Java Web - JSF
Java Web - JSFJava Web - JSF
Java Web - JSF
 
Primefaces hotel.. TERMINADO
Primefaces hotel.. TERMINADOPrimefaces hotel.. TERMINADO
Primefaces hotel.. TERMINADO
 
Integración WordPress / CodeIgniter - Ing. Enrique E. De Rosa Prieto
Integración WordPress / CodeIgniter - Ing. Enrique E. De Rosa PrietoIntegración WordPress / CodeIgniter - Ing. Enrique E. De Rosa Prieto
Integración WordPress / CodeIgniter - Ing. Enrique E. De Rosa Prieto
 
Intro jsf
Intro jsfIntro jsf
Intro jsf
 
Workshop 7: Single Page Applications
Workshop 7: Single Page ApplicationsWorkshop 7: Single Page Applications
Workshop 7: Single Page Applications
 
Jsf jpa-y-hibernate-capitulo-02
Jsf jpa-y-hibernate-capitulo-02Jsf jpa-y-hibernate-capitulo-02
Jsf jpa-y-hibernate-capitulo-02
 
Asp
AspAsp
Asp
 

En vedette (7)

Java Web Lección 03 - MVC
Java Web Lección 03 - MVCJava Web Lección 03 - MVC
Java Web Lección 03 - MVC
 
JAVA SERVER FACES - LECCION 03 - COMPONENTES HTML
JAVA SERVER FACES - LECCION 03 - COMPONENTES HTMLJAVA SERVER FACES - LECCION 03 - COMPONENTES HTML
JAVA SERVER FACES - LECCION 03 - COMPONENTES HTML
 
Manual de Open Shift
Manual de Open ShiftManual de Open Shift
Manual de Open Shift
 
Java Web Lección 02 - JSP
Java Web Lección 02 - JSPJava Web Lección 02 - JSP
Java Web Lección 02 - JSP
 
Java web 01 - servlets
Java web 01 - servletsJava web 01 - servlets
Java web 01 - servlets
 
Java Fundamentos - Programación Orientada a Servicios
Java Fundamentos - Programación Orientada a ServiciosJava Fundamentos - Programación Orientada a Servicios
Java Fundamentos - Programación Orientada a Servicios
 
JAVA SERVER FACES - LECCION 01 - PRIMEROS PASOS
JAVA SERVER FACES - LECCION 01 - PRIMEROS PASOSJAVA SERVER FACES - LECCION 01 - PRIMEROS PASOS
JAVA SERVER FACES - LECCION 01 - PRIMEROS PASOS
 

Similaire à JAVA SERVER FACES - LECCION 02 - NAVEGACION Y LENGUAJES DE EXPRESIONES

Similaire à JAVA SERVER FACES - LECCION 02 - NAVEGACION Y LENGUAJES DE EXPRESIONES (19)

04 actions
04 actions04 actions
04 actions
 
AJAX a cuerda Lo básico sobre AJAX y su funcionamiento
AJAX a cuerda
Lo básico sobre AJAX y su funcionamientoAJAX a cuerda
Lo básico sobre AJAX y su funcionamiento
AJAX a cuerda Lo básico sobre AJAX y su funcionamiento
 
Facelets
FaceletsFacelets
Facelets
 
P1C3 Anotaciones
P1C3 AnotacionesP1C3 Anotaciones
P1C3 Anotaciones
 
Acciones JSP
Acciones JSPAcciones JSP
Acciones JSP
 
P1C2 Navegación y Parámetros
P1C2 Navegación y ParámetrosP1C2 Navegación y Parámetros
P1C2 Navegación y Parámetros
 
INFOSAN Objetos del navegador
INFOSAN Objetos del navegador INFOSAN Objetos del navegador
INFOSAN Objetos del navegador
 
Todo Javascript para canibales
Todo Javascript para canibalesTodo Javascript para canibales
Todo Javascript para canibales
 
Javascript de Canibales
Javascript de CanibalesJavascript de Canibales
Javascript de Canibales
 
Java Script de canibaless
Java Script de canibalessJava Script de canibaless
Java Script de canibaless
 
JAVASCRIPT.pptx
JAVASCRIPT.pptxJAVASCRIPT.pptx
JAVASCRIPT.pptx
 
Ajax
AjaxAjax
Ajax
 
Javascript en proyectos reales: jQuery
Javascript en proyectos reales: jQueryJavascript en proyectos reales: jQuery
Javascript en proyectos reales: jQuery
 
JSF y Seam
JSF y SeamJSF y Seam
JSF y Seam
 
Apache click
Apache clickApache click
Apache click
 
Monitorizando aplicaciones con AspectJ
Monitorizando aplicaciones con AspectJMonitorizando aplicaciones con AspectJ
Monitorizando aplicaciones con AspectJ
 
Merry
MerryMerry
Merry
 
(Muy breve) Introduccion a jQuery
(Muy breve) Introduccion a jQuery(Muy breve) Introduccion a jQuery
(Muy breve) Introduccion a jQuery
 
Prueba De Aplicaciones Web con Selenium 2 y WebDriver
Prueba De Aplicaciones Web con Selenium 2 y WebDriverPrueba De Aplicaciones Web con Selenium 2 y WebDriver
Prueba De Aplicaciones Web con Selenium 2 y WebDriver
 

Plus de Eric Gustavo Coronel Castillo

EL MODELO DIRECTO DE DELL: TODO LO QUE HAY SOBRE LA INFORMACION
EL MODELO DIRECTO DE DELL: TODO LO QUE HAY SOBRE LA INFORMACIONEL MODELO DIRECTO DE DELL: TODO LO QUE HAY SOBRE LA INFORMACION
EL MODELO DIRECTO DE DELL: TODO LO QUE HAY SOBRE LA INFORMACIONEric Gustavo Coronel Castillo
 

Plus de Eric Gustavo Coronel Castillo (20)

Java Web JSTL
Java Web JSTLJava Web JSTL
Java Web JSTL
 
Model View Controller - MVC
Model View Controller - MVCModel View Controller - MVC
Model View Controller - MVC
 
JavaServer Page
JavaServer PageJavaServer Page
JavaServer Page
 
Java Web: Servlets
Java Web: ServletsJava Web: Servlets
Java Web: Servlets
 
Java Web - Presentación
Java Web - PresentaciónJava Web - Presentación
Java Web - Presentación
 
JAVA ORIENTADO A OBJETOS - EXCEPCIONES
JAVA ORIENTADO A OBJETOS - EXCEPCIONESJAVA ORIENTADO A OBJETOS - EXCEPCIONES
JAVA ORIENTADO A OBJETOS - EXCEPCIONES
 
JAVA ORIENTADO A OBJETOS - COLECCIONES
JAVA ORIENTADO A OBJETOS - COLECCIONESJAVA ORIENTADO A OBJETOS - COLECCIONES
JAVA ORIENTADO A OBJETOS - COLECCIONES
 
JAVA ORIENTADO A OBJETOS - ARREGLOS
JAVA ORIENTADO A OBJETOS - ARREGLOSJAVA ORIENTADO A OBJETOS - ARREGLOS
JAVA ORIENTADO A OBJETOS - ARREGLOS
 
JAVA ORIENTADO A OBJETOS - INTERFACES
JAVA ORIENTADO A OBJETOS - INTERFACESJAVA ORIENTADO A OBJETOS - INTERFACES
JAVA ORIENTADO A OBJETOS - INTERFACES
 
JAVA ORIENTADO A OBJETOS - HERENCIA
JAVA ORIENTADO A OBJETOS - HERENCIAJAVA ORIENTADO A OBJETOS - HERENCIA
JAVA ORIENTADO A OBJETOS - HERENCIA
 
JAVA ORIENTADO A OBJETOS - ALCANCE DE CLASE
JAVA ORIENTADO A OBJETOS - ALCANCE DE CLASEJAVA ORIENTADO A OBJETOS - ALCANCE DE CLASE
JAVA ORIENTADO A OBJETOS - ALCANCE DE CLASE
 
JAVA ORIENTADO A OBJETOS - SOBRECARGA
JAVA ORIENTADO A OBJETOS - SOBRECARGAJAVA ORIENTADO A OBJETOS - SOBRECARGA
JAVA ORIENTADO A OBJETOS - SOBRECARGA
 
JAVA ORIENTADO A OBJETOS - MIEMBROS DE CLASE
JAVA ORIENTADO A OBJETOS - MIEMBROS DE CLASEJAVA ORIENTADO A OBJETOS - MIEMBROS DE CLASE
JAVA ORIENTADO A OBJETOS - MIEMBROS DE CLASE
 
JAVA ORIENTADO A OBJETOS - CLASES Y OBJETOS
JAVA ORIENTADO A OBJETOS - CLASES Y OBJETOSJAVA ORIENTADO A OBJETOS - CLASES Y OBJETOS
JAVA ORIENTADO A OBJETOS - CLASES Y OBJETOS
 
Cursos Virtuales con Gustavo Coronel en UDEMY
Cursos Virtuales con Gustavo Coronel en UDEMYCursos Virtuales con Gustavo Coronel en UDEMY
Cursos Virtuales con Gustavo Coronel en UDEMY
 
JAVA ORIENTADO A OBJETOS - INTRODUCCIÓN
JAVA ORIENTADO A OBJETOS - INTRODUCCIÓNJAVA ORIENTADO A OBJETOS - INTRODUCCIÓN
JAVA ORIENTADO A OBJETOS - INTRODUCCIÓN
 
Buenas practicas para el Desarrollo de Software
Buenas practicas para el Desarrollo de SoftwareBuenas practicas para el Desarrollo de Software
Buenas practicas para el Desarrollo de Software
 
JAVA OO - TEMA 08 - COLECCIONES
JAVA OO - TEMA 08 - COLECCIONESJAVA OO - TEMA 08 - COLECCIONES
JAVA OO - TEMA 08 - COLECCIONES
 
EL MODELO DIRECTO DE DELL: TODO LO QUE HAY SOBRE LA INFORMACION
EL MODELO DIRECTO DE DELL: TODO LO QUE HAY SOBRE LA INFORMACIONEL MODELO DIRECTO DE DELL: TODO LO QUE HAY SOBRE LA INFORMACION
EL MODELO DIRECTO DE DELL: TODO LO QUE HAY SOBRE LA INFORMACION
 
ORACLE SQL
ORACLE SQLORACLE SQL
ORACLE SQL
 

JAVA SERVER FACES - LECCION 02 - NAVEGACION Y LENGUAJES DE EXPRESIONES

  • 1. Eric Gustavo Coronel Castillo gcoronelc.blogspot.com gcoronelc@gmail.com JAVA SERVER FACES NAVEGACIÓN Y LENGUAJE DE EXPRESIONES
  • 2. Temas  Navegación  Demo  Lenguaje de Expresiones  Demo
  • 3. NAVEGACION NAVEGACIÓN CLASICA Desde el inicio de la especificación, JSF 1.x cualquier caso de navegación por trivial que fuese, requería una entrada en el fichero faces-config.xml. Cuando se navegaba de page1.xhtml a page2.xhtml en respuesta a un éxito en un componente, se introducía el siguiente código XML: <navigation-rule> <from-view-id>/page1.xhtml</from-view-id> <navigation-case> <from-outcome>success</from-outcome> <to-view-id>/page2.xhtml</to-view-id> </navigation-case> </navigation-rule>
  • 4. NAVEGACION NAVEGACIÓN IMPLICITA  JSF 2.x introduce una simplificación que reduce la complejidad en la navegación.  Introduce el concepto de navegación implícita.  Si no hay ningún caso de navegación coincidente después de comprobar todas las reglas disponibles, el controlador de navegación comprueba que el resultado de la acción corresponde al identificador de una vista.  Si se encuentra una vista coincidente de los resultados de acción, se navega de forma implícita a la vista encontrada.
  • 5. NAVEGACION NAVEGACIÓN IMPLICITA – En el siguiente ejemplo vemos como en el h:commandButton, en el atributo action, indicamos una cadena. <h:commandButton action="listTutorialsView" value= "View Tutorials" /> – Esta no es EL, por lo que no estamos haciendo referencia a un backbean. Esta cadena correspondería con el "outcome" que serviría para determinar la regla de navegación a disparar. Pero como no hemos escrito ninguna regla de navegación ¿qué es lo que va ha hacer JSF 2.x? Sencillo, simplemente se limitará a buscar una página con el mismo nombre y la extensión .xhtml. – Es decir, si en nuestro ejemplo hemos puesto action="listTutorialsView", JSF 2.x intentará saltar a la vista listTutorialsView.xhtml.
  • 6. NAVEGACION EN UN METODO <h:commandButton action="#{bean.doProcesar()}" value= "Procesar" /> En la página JSF public void doProcesar(){ } En el Managed Bean request response En este caso la navegación se realiza con la página que realiza el request.
  • 7. NAVEGACION EN UN METODO <h:commandButton action="#{bean.doProcesar()}" value= "Procesar" /> Página JSF public String doProcesar(){ return "paginaDestino"; } En el Managed Bean request En este caso la navegación se realiza hacia la vista paginaDestino. Página JSF: paginaDestino.xhtml
  • 9. LENGUAJE DE EXPRESIONES EVALUACIÓN INMEDIATA – Evalúa la expresión inmediatamente cuando la página es preparada para ser mostrada. – Las expresiones tienen la forma: ${ expr }. – Son de solo lectura. – Pueden estar en la parte estática de la página y como valores de atributos en una etiqueta de JSF – Ejemplo: <fmt:formatNumber value="${sessionScope.factura.total}"/>
  • 10. LENGUAJE DE EXPRESIONES EVALUACIÓN DIFERIDA – Evalúa la expresión cuando sea necesario dentro del ciclo de vida de la página web. – Las expresiones tienen la forma #{ expr } – Pueden leer y actualizar propiedades de los beans (lectura/escritura) – Solo pueden estar como valores de atributos de una etiqueta de JSF. – Ejemplo: <h:inputText id="name" value="#{cliente.nombre}" />
  • 11. LENGUAJE DE EXPRESIONES EXPRESIONES DE METODOS – Las expresiones pueden invocar métodos sin parámetros: – Ejemplo: <h:commandButton id="procesar" value="Procesar" action="#{factura.doProcesar()}" />
  • 12. LENGUAJE DE EXPRESIONES EXPRESIONES DE METODOS – Las expresiones pueden invocar métodos con parámetros. – Ejemplos: <h:commandButton action="#{negocio.doComprar('TELEVISOR')}" value="Comprar"/>
  • 13. DEMO
  • 15. Eric Gustavo Coronel Castillo gcoronelc.blogspot.com gcoronelc@gmail.com JAVA SERVER FACES Gracias