SlideShare ist ein Scribd-Unternehmen logo
1 von 36
Aurelio Martín Obando Távara aot@upnorte.edu.pe proyectos iANOTACIONES
AGENDA- @ManagedBean- Nombres personalizados- Manejo de parámetros- Controlando el alcance- Resumen Clase 03 1
2 CONTENIDO
web.xml Debetener un patrón-url *.jsf (o cualquierpatrónqueustedelija). Asigne Development a PROJECT_STAGE. faces-config.xml Debetenerunacabecera XML legal y lasetiquetas de 	inicio y fin. 	No esnecesarioetiquetas en el cuerpo some-page.xml Invóquelausando some-page.jsf. Revisado de lasclasesanteriores
web.xml Debe ser una versión mayor a 2.5. Glassfish soporta servlets versión 3.0 Brinda mayor detalle en los mensajes de error. Esto es opcional y nuevo en JSF 2.0  Esto es lo mismo que en JSF 1.X Patrón que obedece el Contexto Faces. Otras opciones populares son *.faces o /faces/*
faces-config.xml Clic derecho en Web Pages y seleccione >> New >> Other En la categoría JavaServer Faces >> JSF Faces Configuration >> Next Escribir en nombre: “faces-config” >> Finish Durante el ejemplo, este archivo casi siempre estará vació. Todos los beans administrados usan los nombres por defecto y mapeo a páginas de resultado por defecto.
some-page.xhtml Tal como se discutió en las clases anteriores, de ahora en adelante se usará facelets con sintaxis xhtml para todas las páginas basadas en JSF 2.0; de este modo no se utilizará sintaxis jsp. Siempre se usará xmlns:h…, h:head, h:body y h:form.  Mas adelante usaremos ocasionalmente xmlns:f… y/o xmlns:ui… No se necesitan entradas como @taglib…
anotación @ManagedBean @ManagedBean public class SomeBean { … } 	Para referirse al bean, use #{someBean.blah}, donde el nombre del 	bean es el nombre de la clase (sin los paquetes) con la primeraletra 	en minúscula. Pordefecto, el alcance del bean es Request. Y “blah” 	esexactamente el nombre de un método (dentro del atributo“action” de h:commandButton) o un shortcutparaun método de 	acceso get y set (dentro del atributo“value” de h:inputText). Valores de retorno de los métodos de acción de controlador Si el métodoretorna“foo” o “bar” y no hay mapeoexplícito en el 	faces-config.xml, entonceslaspáginas de resultado son foo.xhtml y 	bar.xhtml (dentro del mismo folder). Principiosbásicos de @ManagedBean
Idea Clic en una página inicial. Obtener una de tres páginas de resultado, escogidas aleatoriamente. Lo necesario Una página de inicio 	- <h:commandButtonaction=«#{simpleBean.doNavigation}» /> Un bean administrado 	- Class: SimpleBean - Anotación @ManagedBean 	- Un método doNavigation retorna 3 posibles Strings 		- «page1», «page2» o «page3» Tres páginas 	- Los nombres deben coincidir con los valores de retorno del 	método doNavigation (menos .xhtml) 		- page1.xhtml, page2.xhtml o page3.xhtml Ejemplo
start-page.xhtml Esto significa que cuando Ud. presione el botón, JSF creará una instancia del bean administrado cuyo nombre sea simpleBeany luego se ejecutará el método doNavigation.  En JSF 1.X es el mismo formato; sin embargo en la nueva versión el nombre del bean administrado es derivado del nombre de la clase.
SimpleBean.java Esta anotación registra esta clase como bean administrado sin la necesidad de modificar el faces-config.xml. Debido a que no se especifica un nombre personalizado, el nombre es el nombre de la clase con la primera letra en minúscula (p.e. simpleBean). Para especificar un nombre, @ManagedBean(name=«someName») Debido a que no se ha especificado un alcance, el alcance es Request. Para especificar otro alcance, @SessionScoped Debido a que no se han definido reglas explícitas de mapeo en el faces-config.xml, estos valores de retorno corresponden a las páginas de resultado: page1.xhtml, page2.xhtml y page3.xhtml.
page1.xhtml Para el ejemplo, el contenido de esta página nos permitirá identificar que estamos en page1xhtml. Las páginas page2.xhtml y page3.xhtml son similares.
Resultado
El atributo name de @ManagedBean @ManagedBean(name=“customName”) public class SomeClass { … } Para referirse al bean, use #{customName.blah}, donde el nombre 	del bean es el valor exacto del atributo name. Pordefecto, el alcance del bean es Request. Evitamosentradas en el faces-config.xml. Dandonombrespersonalizados a los beans administrados
Idea Clic en una página inicial. Obtener una de tres páginas de resultado, escogidas aleatoriamente. Lo necesario Una página de inicio 	- <h:commandButtonaction=«#{coolName.doNavigation}» /> Un bean administrado 	- Class: SimpleBean2 - Anotación @ManagedBean(name=«coolName») 	- Un método doNavigation retorna 3 posibles Strings 		- «page1», «page2» o «page3» Tres páginas 	- Los nombres deben coincidir con los valores de retorno del 	método doNavigation (menos .xhtml) 		- page1.xhtml, page2.xhtml o page3.xhtml Ejemplo
start-page2.xhtml Similar a la página start-page.xhtml, pero agregamos algo que nos permita saber nos encontramos en una segunda versión de la página start-page.xhtml.
SimpleBean2.java Usa el nombre «coolName» en vez de «simpleBean2». Hereda el método doNavigation que retorna «page1», «page2» y «page3». Este ejemplo comparte las páginas de resultados con el ejemplo anterior.
Resultado
Los valores de entradacorresponden a propiedades del bean <h:inputText value=“#{someBean.someProp}” /> - Cuando el formularioesmostrado, llama al métodogetSomeProp(). Si el 	valor esdiferente de null o vacío, pone el valor en el textfield. - Cuando el formularioesenviado (submitted), toma el valor del textfield y 	lo pasa a setSomeProp(…). - La validación y/o tipos de conversiónocurrenprimero. Es el mismocomportamientoque en JSF 1.X. El alcance Request essiemprepordefecto El bean administradosesinstanciado dos veces: primerocuando el 	formularioesinicialmentemostrado y luegocuando el formularioesenviado. Es el mismocomportamientoque en JSF 1.X. #{bean.someProp} directamente en la salida (output) En vez de usar<h:outputText value=“#{bean.someProp}” /> Nuevo en la versión JSF 2.0 Usando beans paramanejarparámetros de Request
La idea Ingresar el código de un cliente de banco y su 	contraseña. 	Obtener ya sea. Una página que muestre el primer nombre, 			apellido y balance. Distintas versiones dependiendo del balance. Mensaje de error acerca del ingreso de datos. Lo necesario Bean Administrado: 	propiedades correspondientes a los parámetros 			de request Formulario de entrada:   	atributo de “valor” para h:inputText Páginas de resultado:   #{miBean.miPropiedad} Ejemplo
bank-lookup.xhtml Este valor juega un doble rol.  Cuando el formulario es mostrado por primera vez, bankinBean es instanciado y getCustomerId es llamado. Si el valor es diferente de vacío, ese resultado es el valor inicial de la caja de texto. De otro modo,  la caja de texto aparecerá vacía. Cuando el formulario es enviado, bankingBean es instanciado nuevamente (asumiendo por defecto RequestScope) y  el valor ingresado en la caja de texto es pasado a setCutomerId.
BankingBeanBase.java Automáticamente, estos serán llamados cuando por JSF cuando el formulario sea enviado. ¿A que se debe que el método showBalance() sea abstracto? ¿Por qué no existe un método setCustomer(…)?
BankingBean.java Llenados por JSF antes que el método showBalance () sea invocado. El customer no es llenado automáticamente por JSF debido a que no es parte directa de los datos enviados, pero obtenido indirectamente de los datos ingresados. De este modo, customer es llenado por el método showBalance ()a través de la lógica de negocio. Existen 5 posiblesresultados de página: wrong-password.xhtml, unknown-customer.xhtml, negative-balance.xhtml,  normal-balance.xhtml, and high-balance.xhtml. Se estáusando el mapeopordefecto de valores de retorno a nombres de archivos en todos los casos (en lugar de reglas de navegaciónexplícitas en faces-config.xml).
CustomerSimpleMap.java Provee cierta lógica ya programada prueba de errores.
CustomerLookupService.java ¿Por qué complicarse declarando los métodos de búsqueda en una interfaz?
normal-balance.xhtml Nótese que en JSF 2.0 se puede usar #{result} en vez de <h:outputText value="#{result}"/>. En ambos casos se obvia los caracteres  HTML, entonces úsese la forma más corta mostrada aquí a menos que se necesite una de las siguientes opciones:h:outputText con el atributo“escape”igual a false, con el atributo“rendered” con un valor calculado, id, converter, etc. negative-balance.xhtml y high-balance.xhtmlson similares.
unknown-customer.xhtml Aunque customerId venga del usuario y pueda contener caracteres HTML, es seguro usar #{bankingBean.customerId} en vez de <h:outputText value="#{bankingBean.customerId}"/>. wrong-password.xhtmlessimilar.
Resultado
Resultado
Idea Designaporcuandotiempo los beans administradospermancerán 	“vivos”. Alcances de los Bean Administrados
Anotacionesparaespecificar el alcance del bean administrado
Anotacionesparaespecificar el alcance del bean administrado
3 Resumen
PUNTOS PRINCIPALES ,[object Object]
Request Scope
Session Scope

Weitere ähnliche Inhalte

Was ist angesagt?

Guia programacionwebdesarrollositiosweb
Guia programacionwebdesarrollositioswebGuia programacionwebdesarrollositiosweb
Guia programacionwebdesarrollositiosweblissette_torrealba
 
4 establecer-procesos-para-la-manipulacion-de-la-base-de-datos
4 establecer-procesos-para-la-manipulacion-de-la-base-de-datos4 establecer-procesos-para-la-manipulacion-de-la-base-de-datos
4 establecer-procesos-para-la-manipulacion-de-la-base-de-datosNathaly Arias
 
Sintaxis básica, variables y constantes
Sintaxis básica, variables y constantesSintaxis básica, variables y constantes
Sintaxis básica, variables y constantesBelenRosales12
 
Lenguaje javascript
Lenguaje javascriptLenguaje javascript
Lenguaje javascriptrmonago
 

Was ist angesagt? (11)

Php1
Php1Php1
Php1
 
Php1
Php1Php1
Php1
 
Php1
Php1Php1
Php1
 
Qué son los frames
Qué son los framesQué son los frames
Qué son los frames
 
Introduccion a VB6
Introduccion a VB6Introduccion a VB6
Introduccion a VB6
 
Guia programacionwebdesarrollositiosweb
Guia programacionwebdesarrollositioswebGuia programacionwebdesarrollositiosweb
Guia programacionwebdesarrollositiosweb
 
Programacion en php
Programacion en phpProgramacion en php
Programacion en php
 
4 establecer-procesos-para-la-manipulacion-de-la-base-de-datos
4 establecer-procesos-para-la-manipulacion-de-la-base-de-datos4 establecer-procesos-para-la-manipulacion-de-la-base-de-datos
4 establecer-procesos-para-la-manipulacion-de-la-base-de-datos
 
Tema2a Jsp
Tema2a JspTema2a Jsp
Tema2a Jsp
 
Sintaxis básica, variables y constantes
Sintaxis básica, variables y constantesSintaxis básica, variables y constantes
Sintaxis básica, variables y constantes
 
Lenguaje javascript
Lenguaje javascriptLenguaje javascript
Lenguaje javascript
 

Andere mochten auch

Modelo epidemiologico
Modelo epidemiologicoModelo epidemiologico
Modelo epidemiologicoroxhani18
 
Principios basicos-de-epidemiologia
Principios basicos-de-epidemiologiaPrincipios basicos-de-epidemiologia
Principios basicos-de-epidemiologiasavv ortaga
 
Causalidad en epidemiologia
Causalidad en epidemiologiaCausalidad en epidemiologia
Causalidad en epidemiologiayanvilla05
 
SALUD PUBLICA: Introduccion a la Epidemiología
SALUD PUBLICA: Introduccion a la EpidemiologíaSALUD PUBLICA: Introduccion a la Epidemiología
SALUD PUBLICA: Introduccion a la Epidemiologíadramtzgallegos
 

Andere mochten auch (7)

Metodo epidemiologico
Metodo epidemiologico Metodo epidemiologico
Metodo epidemiologico
 
Modelo epidemiologico
Modelo epidemiologicoModelo epidemiologico
Modelo epidemiologico
 
Principios basicos-de-epidemiologia
Principios basicos-de-epidemiologiaPrincipios basicos-de-epidemiologia
Principios basicos-de-epidemiologia
 
Proyecto Social
Proyecto Social Proyecto Social
Proyecto Social
 
Causalidad en epidemiologia
Causalidad en epidemiologiaCausalidad en epidemiologia
Causalidad en epidemiologia
 
Epidemiologia
EpidemiologiaEpidemiologia
Epidemiologia
 
SALUD PUBLICA: Introduccion a la Epidemiología
SALUD PUBLICA: Introduccion a la EpidemiologíaSALUD PUBLICA: Introduccion a la Epidemiología
SALUD PUBLICA: Introduccion a la Epidemiología
 

Ähnlich wie P1C3 Anotaciones (20)

Practica web de la sesión 5
Practica web de la sesión 5Practica web de la sesión 5
Practica web de la sesión 5
 
P1C5 Lenguaje de Expresiones
P1C5 Lenguaje de ExpresionesP1C5 Lenguaje de Expresiones
P1C5 Lenguaje de Expresiones
 
Atributos autofocus-etc
Atributos autofocus-etcAtributos autofocus-etc
Atributos autofocus-etc
 
Funciones
FuncionesFunciones
Funciones
 
Manual+php+básico
Manual+php+básicoManual+php+básico
Manual+php+básico
 
05 jsp tags
05 jsp tags05 jsp tags
05 jsp tags
 
Tema2 3
Tema2 3Tema2 3
Tema2 3
 
Proyecto web Php-MySQL-Ajax-Flex
Proyecto web Php-MySQL-Ajax-FlexProyecto web Php-MySQL-Ajax-Flex
Proyecto web Php-MySQL-Ajax-Flex
 
Formularios web
Formularios webFormularios web
Formularios web
 
0139-php-y-mysql-lenguaje-php-basico.pdf
0139-php-y-mysql-lenguaje-php-basico.pdf0139-php-y-mysql-lenguaje-php-basico.pdf
0139-php-y-mysql-lenguaje-php-basico.pdf
 
CSA - Web Parts en SharePoint 2010
CSA - Web Parts en SharePoint 2010CSA - Web Parts en SharePoint 2010
CSA - Web Parts en SharePoint 2010
 
Practica prog pag_dinam
Practica prog pag_dinamPractica prog pag_dinam
Practica prog pag_dinam
 
Curso Java Avanzado 6 Struts
Curso Java Avanzado   6 StrutsCurso Java Avanzado   6 Struts
Curso Java Avanzado 6 Struts
 
Como desarrollar-un-sistema-en-php-paso-a-paso
Como desarrollar-un-sistema-en-php-paso-a-pasoComo desarrollar-un-sistema-en-php-paso-a-paso
Como desarrollar-un-sistema-en-php-paso-a-paso
 
Frames-Formularios
Frames-FormulariosFrames-Formularios
Frames-Formularios
 
06 validación
06 validación06 validación
06 validación
 
Clase 10 formularios
Clase 10   formulariosClase 10   formularios
Clase 10 formularios
 
4. Curso Java JSP (Java Server Pages) - Curso 2005-2006
4. Curso Java JSP (Java Server Pages) - Curso 2005-20064. Curso Java JSP (Java Server Pages) - Curso 2005-2006
4. Curso Java JSP (Java Server Pages) - Curso 2005-2006
 
P1C1 - Java Server Faces 2.0
P1C1 - Java Server Faces 2.0P1C1 - Java Server Faces 2.0
P1C1 - Java Server Faces 2.0
 
Introducción a Kohana Framework
Introducción a Kohana FrameworkIntroducción a Kohana Framework
Introducción a Kohana Framework
 

Mehr von Aurelio Martín Obando Távara (11)

Configuracion del Entorno
Configuracion del EntornoConfiguracion del Entorno
Configuracion del Entorno
 
Descripción y fuentes de excepciones comunes
Descripción y fuentes de excepciones comunesDescripción y fuentes de excepciones comunes
Descripción y fuentes de excepciones comunes
 
Gestión de Excepciones
Gestión de ExcepcionesGestión de Excepciones
Gestión de Excepciones
 
JEE y Tomcat
JEE y TomcatJEE y Tomcat
JEE y Tomcat
 
P2C5 Introducción a JEE5 - II
P2C5 Introducción a JEE5 - IIP2C5 Introducción a JEE5 - II
P2C5 Introducción a JEE5 - II
 
P1C4 Criterios De Evaluación - T1
P1C4 Criterios De Evaluación - T1P1C4 Criterios De Evaluación - T1
P1C4 Criterios De Evaluación - T1
 
P1C3 Etiquetas JavaServer Faces al detalle
P1C3 Etiquetas JavaServer Faces al detalleP1C3 Etiquetas JavaServer Faces al detalle
P1C3 Etiquetas JavaServer Faces al detalle
 
Etiquetas JavaServer Faces
Etiquetas JavaServer FacesEtiquetas JavaServer Faces
Etiquetas JavaServer Faces
 
Datatable Y Column
Datatable Y ColumnDatatable Y Column
Datatable Y Column
 
P2C2 Introducción a JEE5
P2C2 Introducción a JEE5P2C2 Introducción a JEE5
P2C2 Introducción a JEE5
 
P2C1 - Configuración del Entorno
P2C1 - Configuración del EntornoP2C1 - Configuración del Entorno
P2C1 - Configuración del Entorno
 

Kürzlich hochgeladen

SESION DE PERSONAL SOCIAL. La convivencia en familia 22-04-24 -.doc
SESION DE PERSONAL SOCIAL.  La convivencia en familia 22-04-24  -.docSESION DE PERSONAL SOCIAL.  La convivencia en familia 22-04-24  -.doc
SESION DE PERSONAL SOCIAL. La convivencia en familia 22-04-24 -.docRodneyFrankCUADROSMI
 
PINTURA DEL RENACIMIENTO EN ESPAÑA (SIGLO XVI).ppt
PINTURA DEL RENACIMIENTO EN ESPAÑA (SIGLO XVI).pptPINTURA DEL RENACIMIENTO EN ESPAÑA (SIGLO XVI).ppt
PINTURA DEL RENACIMIENTO EN ESPAÑA (SIGLO XVI).pptAlberto Rubio
 
TALLER DE DEMOCRACIA Y GOBIERNO ESCOLAR-COMPETENCIAS N°3.docx
TALLER DE DEMOCRACIA Y GOBIERNO ESCOLAR-COMPETENCIAS N°3.docxTALLER DE DEMOCRACIA Y GOBIERNO ESCOLAR-COMPETENCIAS N°3.docx
TALLER DE DEMOCRACIA Y GOBIERNO ESCOLAR-COMPETENCIAS N°3.docxNadiaMartnez11
 
NUEVAS DIAPOSITIVAS POSGRADO Gestion Publica.pdf
NUEVAS DIAPOSITIVAS POSGRADO Gestion Publica.pdfNUEVAS DIAPOSITIVAS POSGRADO Gestion Publica.pdf
NUEVAS DIAPOSITIVAS POSGRADO Gestion Publica.pdfUPTAIDELTACHIRA
 
Análisis de los Factores Externos de la Organización.
Análisis de los Factores Externos de la Organización.Análisis de los Factores Externos de la Organización.
Análisis de los Factores Externos de la Organización.JonathanCovena1
 
Tema 19. Inmunología y el sistema inmunitario 2024
Tema 19. Inmunología y el sistema inmunitario 2024Tema 19. Inmunología y el sistema inmunitario 2024
Tema 19. Inmunología y el sistema inmunitario 2024IES Vicent Andres Estelles
 
Abril 2024 - Maestra Jardinera Ediba.pdf
Abril 2024 -  Maestra Jardinera Ediba.pdfAbril 2024 -  Maestra Jardinera Ediba.pdf
Abril 2024 - Maestra Jardinera Ediba.pdfValeriaCorrea29
 
Proyecto de aprendizaje dia de la madre MINT.pdf
Proyecto de aprendizaje dia de la madre MINT.pdfProyecto de aprendizaje dia de la madre MINT.pdf
Proyecto de aprendizaje dia de la madre MINT.pdfpatriciaines1993
 
Tema 17. Biología de los microorganismos 2024
Tema 17. Biología de los microorganismos 2024Tema 17. Biología de los microorganismos 2024
Tema 17. Biología de los microorganismos 2024IES Vicent Andres Estelles
 
Los avatares para el juego dramático en entornos virtuales
Los avatares para el juego dramático en entornos virtualesLos avatares para el juego dramático en entornos virtuales
Los avatares para el juego dramático en entornos virtualesMarisolMartinez707897
 
PLAN DE REFUERZO ESCOLAR MERC 2024-2.docx
PLAN DE REFUERZO ESCOLAR MERC 2024-2.docxPLAN DE REFUERZO ESCOLAR MERC 2024-2.docx
PLAN DE REFUERZO ESCOLAR MERC 2024-2.docxiemerc2024
 
Biografía de Charles Coulomb física .pdf
Biografía de Charles Coulomb física .pdfBiografía de Charles Coulomb física .pdf
Biografía de Charles Coulomb física .pdfGruberACaraballo
 
LA LITERATURA DEL BARROCO 2023-2024pptx.pptx
LA LITERATURA DEL BARROCO 2023-2024pptx.pptxLA LITERATURA DEL BARROCO 2023-2024pptx.pptx
LA LITERATURA DEL BARROCO 2023-2024pptx.pptxlclcarmen
 
Revista Apuntes de Historia. Mayo 2024.pdf
Revista Apuntes de Historia. Mayo 2024.pdfRevista Apuntes de Historia. Mayo 2024.pdf
Revista Apuntes de Historia. Mayo 2024.pdfapunteshistoriamarmo
 
Procedimientos para la planificación en los Centros Educativos tipo V ( multi...
Procedimientos para la planificación en los Centros Educativos tipo V ( multi...Procedimientos para la planificación en los Centros Educativos tipo V ( multi...
Procedimientos para la planificación en los Centros Educativos tipo V ( multi...Katherine Concepcion Gonzalez
 
ACRÓNIMO DE PARÍS PARA SU OLIMPIADA 2024. Por JAVIER SOLIS NOYOLA
ACRÓNIMO DE PARÍS PARA SU OLIMPIADA 2024. Por JAVIER SOLIS NOYOLAACRÓNIMO DE PARÍS PARA SU OLIMPIADA 2024. Por JAVIER SOLIS NOYOLA
ACRÓNIMO DE PARÍS PARA SU OLIMPIADA 2024. Por JAVIER SOLIS NOYOLAJAVIER SOLIS NOYOLA
 
Concepto y definición de tipos de Datos Abstractos en c++.pptx
Concepto y definición de tipos de Datos Abstractos en c++.pptxConcepto y definición de tipos de Datos Abstractos en c++.pptx
Concepto y definición de tipos de Datos Abstractos en c++.pptxFernando Solis
 
RESULTADOS DE LA EVALUACIÓN DIAGNÓSTICA 2024 - ACTUALIZADA.pptx
RESULTADOS DE LA EVALUACIÓN DIAGNÓSTICA 2024 - ACTUALIZADA.pptxRESULTADOS DE LA EVALUACIÓN DIAGNÓSTICA 2024 - ACTUALIZADA.pptx
RESULTADOS DE LA EVALUACIÓN DIAGNÓSTICA 2024 - ACTUALIZADA.pptxpvtablets2023
 

Kürzlich hochgeladen (20)

SESION DE PERSONAL SOCIAL. La convivencia en familia 22-04-24 -.doc
SESION DE PERSONAL SOCIAL.  La convivencia en familia 22-04-24  -.docSESION DE PERSONAL SOCIAL.  La convivencia en familia 22-04-24  -.doc
SESION DE PERSONAL SOCIAL. La convivencia en familia 22-04-24 -.doc
 
Power Point: Fe contra todo pronóstico.pptx
Power Point: Fe contra todo pronóstico.pptxPower Point: Fe contra todo pronóstico.pptx
Power Point: Fe contra todo pronóstico.pptx
 
PINTURA DEL RENACIMIENTO EN ESPAÑA (SIGLO XVI).ppt
PINTURA DEL RENACIMIENTO EN ESPAÑA (SIGLO XVI).pptPINTURA DEL RENACIMIENTO EN ESPAÑA (SIGLO XVI).ppt
PINTURA DEL RENACIMIENTO EN ESPAÑA (SIGLO XVI).ppt
 
TALLER DE DEMOCRACIA Y GOBIERNO ESCOLAR-COMPETENCIAS N°3.docx
TALLER DE DEMOCRACIA Y GOBIERNO ESCOLAR-COMPETENCIAS N°3.docxTALLER DE DEMOCRACIA Y GOBIERNO ESCOLAR-COMPETENCIAS N°3.docx
TALLER DE DEMOCRACIA Y GOBIERNO ESCOLAR-COMPETENCIAS N°3.docx
 
Interpretación de cortes geológicos 2024
Interpretación de cortes geológicos 2024Interpretación de cortes geológicos 2024
Interpretación de cortes geológicos 2024
 
NUEVAS DIAPOSITIVAS POSGRADO Gestion Publica.pdf
NUEVAS DIAPOSITIVAS POSGRADO Gestion Publica.pdfNUEVAS DIAPOSITIVAS POSGRADO Gestion Publica.pdf
NUEVAS DIAPOSITIVAS POSGRADO Gestion Publica.pdf
 
Análisis de los Factores Externos de la Organización.
Análisis de los Factores Externos de la Organización.Análisis de los Factores Externos de la Organización.
Análisis de los Factores Externos de la Organización.
 
Tema 19. Inmunología y el sistema inmunitario 2024
Tema 19. Inmunología y el sistema inmunitario 2024Tema 19. Inmunología y el sistema inmunitario 2024
Tema 19. Inmunología y el sistema inmunitario 2024
 
Abril 2024 - Maestra Jardinera Ediba.pdf
Abril 2024 -  Maestra Jardinera Ediba.pdfAbril 2024 -  Maestra Jardinera Ediba.pdf
Abril 2024 - Maestra Jardinera Ediba.pdf
 
Proyecto de aprendizaje dia de la madre MINT.pdf
Proyecto de aprendizaje dia de la madre MINT.pdfProyecto de aprendizaje dia de la madre MINT.pdf
Proyecto de aprendizaje dia de la madre MINT.pdf
 
Tema 17. Biología de los microorganismos 2024
Tema 17. Biología de los microorganismos 2024Tema 17. Biología de los microorganismos 2024
Tema 17. Biología de los microorganismos 2024
 
Los avatares para el juego dramático en entornos virtuales
Los avatares para el juego dramático en entornos virtualesLos avatares para el juego dramático en entornos virtuales
Los avatares para el juego dramático en entornos virtuales
 
PLAN DE REFUERZO ESCOLAR MERC 2024-2.docx
PLAN DE REFUERZO ESCOLAR MERC 2024-2.docxPLAN DE REFUERZO ESCOLAR MERC 2024-2.docx
PLAN DE REFUERZO ESCOLAR MERC 2024-2.docx
 
Biografía de Charles Coulomb física .pdf
Biografía de Charles Coulomb física .pdfBiografía de Charles Coulomb física .pdf
Biografía de Charles Coulomb física .pdf
 
LA LITERATURA DEL BARROCO 2023-2024pptx.pptx
LA LITERATURA DEL BARROCO 2023-2024pptx.pptxLA LITERATURA DEL BARROCO 2023-2024pptx.pptx
LA LITERATURA DEL BARROCO 2023-2024pptx.pptx
 
Revista Apuntes de Historia. Mayo 2024.pdf
Revista Apuntes de Historia. Mayo 2024.pdfRevista Apuntes de Historia. Mayo 2024.pdf
Revista Apuntes de Historia. Mayo 2024.pdf
 
Procedimientos para la planificación en los Centros Educativos tipo V ( multi...
Procedimientos para la planificación en los Centros Educativos tipo V ( multi...Procedimientos para la planificación en los Centros Educativos tipo V ( multi...
Procedimientos para la planificación en los Centros Educativos tipo V ( multi...
 
ACRÓNIMO DE PARÍS PARA SU OLIMPIADA 2024. Por JAVIER SOLIS NOYOLA
ACRÓNIMO DE PARÍS PARA SU OLIMPIADA 2024. Por JAVIER SOLIS NOYOLAACRÓNIMO DE PARÍS PARA SU OLIMPIADA 2024. Por JAVIER SOLIS NOYOLA
ACRÓNIMO DE PARÍS PARA SU OLIMPIADA 2024. Por JAVIER SOLIS NOYOLA
 
Concepto y definición de tipos de Datos Abstractos en c++.pptx
Concepto y definición de tipos de Datos Abstractos en c++.pptxConcepto y definición de tipos de Datos Abstractos en c++.pptx
Concepto y definición de tipos de Datos Abstractos en c++.pptx
 
RESULTADOS DE LA EVALUACIÓN DIAGNÓSTICA 2024 - ACTUALIZADA.pptx
RESULTADOS DE LA EVALUACIÓN DIAGNÓSTICA 2024 - ACTUALIZADA.pptxRESULTADOS DE LA EVALUACIÓN DIAGNÓSTICA 2024 - ACTUALIZADA.pptx
RESULTADOS DE LA EVALUACIÓN DIAGNÓSTICA 2024 - ACTUALIZADA.pptx
 

P1C3 Anotaciones

  • 1. Aurelio Martín Obando Távara aot@upnorte.edu.pe proyectos iANOTACIONES
  • 2. AGENDA- @ManagedBean- Nombres personalizados- Manejo de parámetros- Controlando el alcance- Resumen Clase 03 1
  • 4. web.xml Debetener un patrón-url *.jsf (o cualquierpatrónqueustedelija). Asigne Development a PROJECT_STAGE. faces-config.xml Debetenerunacabecera XML legal y lasetiquetas de inicio y fin. No esnecesarioetiquetas en el cuerpo some-page.xml Invóquelausando some-page.jsf. Revisado de lasclasesanteriores
  • 5. web.xml Debe ser una versión mayor a 2.5. Glassfish soporta servlets versión 3.0 Brinda mayor detalle en los mensajes de error. Esto es opcional y nuevo en JSF 2.0 Esto es lo mismo que en JSF 1.X Patrón que obedece el Contexto Faces. Otras opciones populares son *.faces o /faces/*
  • 6. faces-config.xml Clic derecho en Web Pages y seleccione >> New >> Other En la categoría JavaServer Faces >> JSF Faces Configuration >> Next Escribir en nombre: “faces-config” >> Finish Durante el ejemplo, este archivo casi siempre estará vació. Todos los beans administrados usan los nombres por defecto y mapeo a páginas de resultado por defecto.
  • 7. some-page.xhtml Tal como se discutió en las clases anteriores, de ahora en adelante se usará facelets con sintaxis xhtml para todas las páginas basadas en JSF 2.0; de este modo no se utilizará sintaxis jsp. Siempre se usará xmlns:h…, h:head, h:body y h:form. Mas adelante usaremos ocasionalmente xmlns:f… y/o xmlns:ui… No se necesitan entradas como @taglib…
  • 8. anotación @ManagedBean @ManagedBean public class SomeBean { … } Para referirse al bean, use #{someBean.blah}, donde el nombre del bean es el nombre de la clase (sin los paquetes) con la primeraletra en minúscula. Pordefecto, el alcance del bean es Request. Y “blah” esexactamente el nombre de un método (dentro del atributo“action” de h:commandButton) o un shortcutparaun método de acceso get y set (dentro del atributo“value” de h:inputText). Valores de retorno de los métodos de acción de controlador Si el métodoretorna“foo” o “bar” y no hay mapeoexplícito en el faces-config.xml, entonceslaspáginas de resultado son foo.xhtml y bar.xhtml (dentro del mismo folder). Principiosbásicos de @ManagedBean
  • 9. Idea Clic en una página inicial. Obtener una de tres páginas de resultado, escogidas aleatoriamente. Lo necesario Una página de inicio - <h:commandButtonaction=«#{simpleBean.doNavigation}» /> Un bean administrado - Class: SimpleBean - Anotación @ManagedBean - Un método doNavigation retorna 3 posibles Strings - «page1», «page2» o «page3» Tres páginas - Los nombres deben coincidir con los valores de retorno del método doNavigation (menos .xhtml) - page1.xhtml, page2.xhtml o page3.xhtml Ejemplo
  • 10. start-page.xhtml Esto significa que cuando Ud. presione el botón, JSF creará una instancia del bean administrado cuyo nombre sea simpleBeany luego se ejecutará el método doNavigation. En JSF 1.X es el mismo formato; sin embargo en la nueva versión el nombre del bean administrado es derivado del nombre de la clase.
  • 11. SimpleBean.java Esta anotación registra esta clase como bean administrado sin la necesidad de modificar el faces-config.xml. Debido a que no se especifica un nombre personalizado, el nombre es el nombre de la clase con la primera letra en minúscula (p.e. simpleBean). Para especificar un nombre, @ManagedBean(name=«someName») Debido a que no se ha especificado un alcance, el alcance es Request. Para especificar otro alcance, @SessionScoped Debido a que no se han definido reglas explícitas de mapeo en el faces-config.xml, estos valores de retorno corresponden a las páginas de resultado: page1.xhtml, page2.xhtml y page3.xhtml.
  • 12. page1.xhtml Para el ejemplo, el contenido de esta página nos permitirá identificar que estamos en page1xhtml. Las páginas page2.xhtml y page3.xhtml son similares.
  • 14. El atributo name de @ManagedBean @ManagedBean(name=“customName”) public class SomeClass { … } Para referirse al bean, use #{customName.blah}, donde el nombre del bean es el valor exacto del atributo name. Pordefecto, el alcance del bean es Request. Evitamosentradas en el faces-config.xml. Dandonombrespersonalizados a los beans administrados
  • 15. Idea Clic en una página inicial. Obtener una de tres páginas de resultado, escogidas aleatoriamente. Lo necesario Una página de inicio - <h:commandButtonaction=«#{coolName.doNavigation}» /> Un bean administrado - Class: SimpleBean2 - Anotación @ManagedBean(name=«coolName») - Un método doNavigation retorna 3 posibles Strings - «page1», «page2» o «page3» Tres páginas - Los nombres deben coincidir con los valores de retorno del método doNavigation (menos .xhtml) - page1.xhtml, page2.xhtml o page3.xhtml Ejemplo
  • 16. start-page2.xhtml Similar a la página start-page.xhtml, pero agregamos algo que nos permita saber nos encontramos en una segunda versión de la página start-page.xhtml.
  • 17. SimpleBean2.java Usa el nombre «coolName» en vez de «simpleBean2». Hereda el método doNavigation que retorna «page1», «page2» y «page3». Este ejemplo comparte las páginas de resultados con el ejemplo anterior.
  • 19. Los valores de entradacorresponden a propiedades del bean <h:inputText value=“#{someBean.someProp}” /> - Cuando el formularioesmostrado, llama al métodogetSomeProp(). Si el valor esdiferente de null o vacío, pone el valor en el textfield. - Cuando el formularioesenviado (submitted), toma el valor del textfield y lo pasa a setSomeProp(…). - La validación y/o tipos de conversiónocurrenprimero. Es el mismocomportamientoque en JSF 1.X. El alcance Request essiemprepordefecto El bean administradosesinstanciado dos veces: primerocuando el formularioesinicialmentemostrado y luegocuando el formularioesenviado. Es el mismocomportamientoque en JSF 1.X. #{bean.someProp} directamente en la salida (output) En vez de usar<h:outputText value=“#{bean.someProp}” /> Nuevo en la versión JSF 2.0 Usando beans paramanejarparámetros de Request
  • 20. La idea Ingresar el código de un cliente de banco y su contraseña. Obtener ya sea. Una página que muestre el primer nombre, apellido y balance. Distintas versiones dependiendo del balance. Mensaje de error acerca del ingreso de datos. Lo necesario Bean Administrado: propiedades correspondientes a los parámetros de request Formulario de entrada: atributo de “valor” para h:inputText Páginas de resultado: #{miBean.miPropiedad} Ejemplo
  • 21. bank-lookup.xhtml Este valor juega un doble rol. Cuando el formulario es mostrado por primera vez, bankinBean es instanciado y getCustomerId es llamado. Si el valor es diferente de vacío, ese resultado es el valor inicial de la caja de texto. De otro modo, la caja de texto aparecerá vacía. Cuando el formulario es enviado, bankingBean es instanciado nuevamente (asumiendo por defecto RequestScope) y el valor ingresado en la caja de texto es pasado a setCutomerId.
  • 22. BankingBeanBase.java Automáticamente, estos serán llamados cuando por JSF cuando el formulario sea enviado. ¿A que se debe que el método showBalance() sea abstracto? ¿Por qué no existe un método setCustomer(…)?
  • 23. BankingBean.java Llenados por JSF antes que el método showBalance () sea invocado. El customer no es llenado automáticamente por JSF debido a que no es parte directa de los datos enviados, pero obtenido indirectamente de los datos ingresados. De este modo, customer es llenado por el método showBalance ()a través de la lógica de negocio. Existen 5 posiblesresultados de página: wrong-password.xhtml, unknown-customer.xhtml, negative-balance.xhtml, normal-balance.xhtml, and high-balance.xhtml. Se estáusando el mapeopordefecto de valores de retorno a nombres de archivos en todos los casos (en lugar de reglas de navegaciónexplícitas en faces-config.xml).
  • 24. CustomerSimpleMap.java Provee cierta lógica ya programada prueba de errores.
  • 25. CustomerLookupService.java ¿Por qué complicarse declarando los métodos de búsqueda en una interfaz?
  • 26. normal-balance.xhtml Nótese que en JSF 2.0 se puede usar #{result} en vez de <h:outputText value="#{result}"/>. En ambos casos se obvia los caracteres HTML, entonces úsese la forma más corta mostrada aquí a menos que se necesite una de las siguientes opciones:h:outputText con el atributo“escape”igual a false, con el atributo“rendered” con un valor calculado, id, converter, etc. negative-balance.xhtml y high-balance.xhtmlson similares.
  • 27. unknown-customer.xhtml Aunque customerId venga del usuario y pueda contener caracteres HTML, es seguro usar #{bankingBean.customerId} en vez de <h:outputText value="#{bankingBean.customerId}"/>. wrong-password.xhtmlessimilar.
  • 30. Idea Designaporcuandotiempo los beans administradospermancerán “vivos”. Alcances de los Bean Administrados
  • 31. Anotacionesparaespecificar el alcance del bean administrado
  • 32. Anotacionesparaespecificar el alcance del bean administrado
  • 34.
  • 41. Tradicionalmenteubicadodespués de @ManagedBean @ManagedBean @SessionScoped public class somBean {…}
  • 43. Encuentra esta presentación en el AULA VIRTUAL O tambiénpuedesencontrarla en . Saludos!

Hinweis der Redaktion

  1. Bookmark: Literalmente, marcalibros. Se refiere a direcciones de páginas que el usuario visita, y que en lugar de tener que recordarlas, las almacena en un directorio especial, que el navegador se encarga de gestionar
  2. Bookmark: Literalmente, marcalibros. Se refiere a direcciones de páginas que el usuario visita, y que en lugar de tener que recordarlas, las almacena en un directorio especial, que el navegador se encarga de gestionar
  3. Bookmark: Literalmente, marcalibros. Se refiere a direcciones de páginas que el usuario visita, y que en lugar de tener que recordarlas, las almacena en un directorio especial, que el navegador se encarga de gestionar
  4. Bookmark: Literalmente, marcalibros. Se refiere a direcciones de páginas que el usuario visita, y que en lugar de tener que recordarlas, las almacena en un directorio especial, que el navegador se encarga de gestionar