SlideShare una empresa de Scribd logo
1 de 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

Más contenido relacionado

La actualidad más candente

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
 

La actualidad más candente (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
 

Destacado

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
 

Destacado (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
 

Similar a 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
 

Más de 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
 

Último

SISTEMA INMUNE FISIOLOGIA MEDICA UNSL 2024
SISTEMA INMUNE FISIOLOGIA MEDICA UNSL 2024SISTEMA INMUNE FISIOLOGIA MEDICA UNSL 2024
SISTEMA INMUNE FISIOLOGIA MEDICA UNSL 2024gharce
 
Tema 8.- Gestion de la imagen a traves de la comunicacion de crisis.pdf
Tema 8.- Gestion de la imagen a traves de la comunicacion de crisis.pdfTema 8.- Gestion de la imagen a traves de la comunicacion de crisis.pdf
Tema 8.- Gestion de la imagen a traves de la comunicacion de crisis.pdfDaniel Ángel Corral de la Mata, Ph.D.
 
periodico mural y sus partes y caracteristicas
periodico mural y sus partes y caracteristicasperiodico mural y sus partes y caracteristicas
periodico mural y sus partes y caracteristicas123yudy
 
Tarea 5_ Foro _Selección de herramientas digitales_Manuel.pdf
Tarea 5_ Foro _Selección de herramientas digitales_Manuel.pdfTarea 5_ Foro _Selección de herramientas digitales_Manuel.pdf
Tarea 5_ Foro _Selección de herramientas digitales_Manuel.pdfManuel Molina
 
Manejo del Dengue, generalidades, actualización marzo 2024 minsa
Manejo del Dengue, generalidades, actualización marzo 2024 minsaManejo del Dengue, generalidades, actualización marzo 2024 minsa
Manejo del Dengue, generalidades, actualización marzo 2024 minsaLuis Minaya
 
MODELO DE INFORME DE INDAGACION CIENTIFICA .docx
MODELO DE INFORME DE INDAGACION CIENTIFICA .docxMODELO DE INFORME DE INDAGACION CIENTIFICA .docx
MODELO DE INFORME DE INDAGACION CIENTIFICA .docxRAMON EUSTAQUIO CARO BAYONA
 
EDUCACION FISICA 1° PROGRAMACIÓN ANUAL 2023.docx
EDUCACION FISICA 1°  PROGRAMACIÓN ANUAL 2023.docxEDUCACION FISICA 1°  PROGRAMACIÓN ANUAL 2023.docx
EDUCACION FISICA 1° PROGRAMACIÓN ANUAL 2023.docxLuisAndersonPachasto
 
Fichas de MatemáticA QUINTO DE SECUNDARIA).pdf
Fichas de MatemáticA QUINTO DE SECUNDARIA).pdfFichas de MatemáticA QUINTO DE SECUNDARIA).pdf
Fichas de MatemáticA QUINTO DE SECUNDARIA).pdfssuser50d1252
 
Fichas de matemática DE PRIMERO DE SECUNDARIA.pdf
Fichas de matemática DE PRIMERO DE SECUNDARIA.pdfFichas de matemática DE PRIMERO DE SECUNDARIA.pdf
Fichas de matemática DE PRIMERO DE SECUNDARIA.pdfssuser50d1252
 
Secuencia didáctica.DOÑA CLEMENTINA.2024.docx
Secuencia didáctica.DOÑA CLEMENTINA.2024.docxSecuencia didáctica.DOÑA CLEMENTINA.2024.docx
Secuencia didáctica.DOÑA CLEMENTINA.2024.docxNataliaGonzalez619348
 
4º SOY LECTOR PART2- MD EDUCATIVO.p df PARTE
4º SOY LECTOR PART2- MD  EDUCATIVO.p df PARTE4º SOY LECTOR PART2- MD  EDUCATIVO.p df PARTE
4º SOY LECTOR PART2- MD EDUCATIVO.p df PARTESaraNolasco4
 
Uses of simple past and time expressions
Uses of simple past and time expressionsUses of simple past and time expressions
Uses of simple past and time expressionsConsueloSantana3
 
Estrategias de enseñanza - aprendizaje. Seminario de Tecnologia..pptx.pdf
Estrategias de enseñanza - aprendizaje. Seminario de Tecnologia..pptx.pdfEstrategias de enseñanza - aprendizaje. Seminario de Tecnologia..pptx.pdf
Estrategias de enseñanza - aprendizaje. Seminario de Tecnologia..pptx.pdfAlfredoRamirez953210
 
DETALLES EN EL DISEÑO DE INTERIOR
DETALLES EN EL DISEÑO DE INTERIORDETALLES EN EL DISEÑO DE INTERIOR
DETALLES EN EL DISEÑO DE INTERIORGonella
 
VOLUMEN 1 COLECCION PRODUCCION BOVINA . SERIE SANIDAD ANIMAL
VOLUMEN 1 COLECCION PRODUCCION BOVINA . SERIE SANIDAD ANIMALVOLUMEN 1 COLECCION PRODUCCION BOVINA . SERIE SANIDAD ANIMAL
VOLUMEN 1 COLECCION PRODUCCION BOVINA . SERIE SANIDAD ANIMALEDUCCUniversidadCatl
 
Estas son las escuelas y colegios que tendrán modalidad no presencial este lu...
Estas son las escuelas y colegios que tendrán modalidad no presencial este lu...Estas son las escuelas y colegios que tendrán modalidad no presencial este lu...
Estas son las escuelas y colegios que tendrán modalidad no presencial este lu...fcastellanos3
 
sesión de aprendizaje 4 E1 Exposición oral.pdf
sesión de aprendizaje 4 E1 Exposición oral.pdfsesión de aprendizaje 4 E1 Exposición oral.pdf
sesión de aprendizaje 4 E1 Exposición oral.pdfpatriciavsquezbecerr
 

Último (20)

Earth Day Everyday 2024 54th anniversary
Earth Day Everyday 2024 54th anniversaryEarth Day Everyday 2024 54th anniversary
Earth Day Everyday 2024 54th anniversary
 
SISTEMA INMUNE FISIOLOGIA MEDICA UNSL 2024
SISTEMA INMUNE FISIOLOGIA MEDICA UNSL 2024SISTEMA INMUNE FISIOLOGIA MEDICA UNSL 2024
SISTEMA INMUNE FISIOLOGIA MEDICA UNSL 2024
 
Tema 8.- Gestion de la imagen a traves de la comunicacion de crisis.pdf
Tema 8.- Gestion de la imagen a traves de la comunicacion de crisis.pdfTema 8.- Gestion de la imagen a traves de la comunicacion de crisis.pdf
Tema 8.- Gestion de la imagen a traves de la comunicacion de crisis.pdf
 
periodico mural y sus partes y caracteristicas
periodico mural y sus partes y caracteristicasperiodico mural y sus partes y caracteristicas
periodico mural y sus partes y caracteristicas
 
Tarea 5_ Foro _Selección de herramientas digitales_Manuel.pdf
Tarea 5_ Foro _Selección de herramientas digitales_Manuel.pdfTarea 5_ Foro _Selección de herramientas digitales_Manuel.pdf
Tarea 5_ Foro _Selección de herramientas digitales_Manuel.pdf
 
Manejo del Dengue, generalidades, actualización marzo 2024 minsa
Manejo del Dengue, generalidades, actualización marzo 2024 minsaManejo del Dengue, generalidades, actualización marzo 2024 minsa
Manejo del Dengue, generalidades, actualización marzo 2024 minsa
 
MODELO DE INFORME DE INDAGACION CIENTIFICA .docx
MODELO DE INFORME DE INDAGACION CIENTIFICA .docxMODELO DE INFORME DE INDAGACION CIENTIFICA .docx
MODELO DE INFORME DE INDAGACION CIENTIFICA .docx
 
EDUCACION FISICA 1° PROGRAMACIÓN ANUAL 2023.docx
EDUCACION FISICA 1°  PROGRAMACIÓN ANUAL 2023.docxEDUCACION FISICA 1°  PROGRAMACIÓN ANUAL 2023.docx
EDUCACION FISICA 1° PROGRAMACIÓN ANUAL 2023.docx
 
Fichas de MatemáticA QUINTO DE SECUNDARIA).pdf
Fichas de MatemáticA QUINTO DE SECUNDARIA).pdfFichas de MatemáticA QUINTO DE SECUNDARIA).pdf
Fichas de MatemáticA QUINTO DE SECUNDARIA).pdf
 
PPTX: La luz brilla en la oscuridad.pptx
PPTX: La luz brilla en la oscuridad.pptxPPTX: La luz brilla en la oscuridad.pptx
PPTX: La luz brilla en la oscuridad.pptx
 
Fichas de matemática DE PRIMERO DE SECUNDARIA.pdf
Fichas de matemática DE PRIMERO DE SECUNDARIA.pdfFichas de matemática DE PRIMERO DE SECUNDARIA.pdf
Fichas de matemática DE PRIMERO DE SECUNDARIA.pdf
 
Secuencia didáctica.DOÑA CLEMENTINA.2024.docx
Secuencia didáctica.DOÑA CLEMENTINA.2024.docxSecuencia didáctica.DOÑA CLEMENTINA.2024.docx
Secuencia didáctica.DOÑA CLEMENTINA.2024.docx
 
4º SOY LECTOR PART2- MD EDUCATIVO.p df PARTE
4º SOY LECTOR PART2- MD  EDUCATIVO.p df PARTE4º SOY LECTOR PART2- MD  EDUCATIVO.p df PARTE
4º SOY LECTOR PART2- MD EDUCATIVO.p df PARTE
 
Uses of simple past and time expressions
Uses of simple past and time expressionsUses of simple past and time expressions
Uses of simple past and time expressions
 
VISITA À PROTEÇÃO CIVIL _
VISITA À PROTEÇÃO CIVIL                  _VISITA À PROTEÇÃO CIVIL                  _
VISITA À PROTEÇÃO CIVIL _
 
Estrategias de enseñanza - aprendizaje. Seminario de Tecnologia..pptx.pdf
Estrategias de enseñanza - aprendizaje. Seminario de Tecnologia..pptx.pdfEstrategias de enseñanza - aprendizaje. Seminario de Tecnologia..pptx.pdf
Estrategias de enseñanza - aprendizaje. Seminario de Tecnologia..pptx.pdf
 
DETALLES EN EL DISEÑO DE INTERIOR
DETALLES EN EL DISEÑO DE INTERIORDETALLES EN EL DISEÑO DE INTERIOR
DETALLES EN EL DISEÑO DE INTERIOR
 
VOLUMEN 1 COLECCION PRODUCCION BOVINA . SERIE SANIDAD ANIMAL
VOLUMEN 1 COLECCION PRODUCCION BOVINA . SERIE SANIDAD ANIMALVOLUMEN 1 COLECCION PRODUCCION BOVINA . SERIE SANIDAD ANIMAL
VOLUMEN 1 COLECCION PRODUCCION BOVINA . SERIE SANIDAD ANIMAL
 
Estas son las escuelas y colegios que tendrán modalidad no presencial este lu...
Estas son las escuelas y colegios que tendrán modalidad no presencial este lu...Estas son las escuelas y colegios que tendrán modalidad no presencial este lu...
Estas son las escuelas y colegios que tendrán modalidad no presencial este lu...
 
sesión de aprendizaje 4 E1 Exposición oral.pdf
sesión de aprendizaje 4 E1 Exposición oral.pdfsesión de aprendizaje 4 E1 Exposición oral.pdf
sesión de aprendizaje 4 E1 Exposición oral.pdf
 

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!

Notas del editor

  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