JSF contenido y Distribucion
-
Upload
fabian-maldonado -
Category
Documents
-
view
217 -
download
0
Transcript of JSF contenido y Distribucion
-
8/10/2019 JSF contenido y Distribucion
1/88
Java Server Faces
-
8/10/2019 JSF contenido y Distribucion
2/88
JSF
Framework Java que permite construirpginas como interfaces de usuario
Distintos tipos de componentes.
Estados y eventos/funcionaidad !JavaScript".
#sociaci$n entre datos de a interfa% y datosde a apicaci$n we& !Java 'eans( etc".
Especificaci$n de a navegaci$n de usuario.
)oecci$n de etiquetas Faceets/JS*asociadas.
-
8/10/2019 JSF contenido y Distribucion
3/88
Faceets y JS*
Faceets y JS* son dos tecnoog+asdiferentes. JSF permite a utii%aci$n deam&as( incuso con,untamente
Faceets es ms reciente( es espec+ficapara JSF y ofrece ms posi&iidades adesarroador
-a especificaci$n actua de JSF( .(recomienda a utii%aci$n de Faceets
-
8/10/2019 JSF contenido y Distribucion
4/88
0eo 1ord !con Faceets"
)omponente de presentaci$n2 0eo.xhtml
#tri&utos de a etiqueta 3tm para a incusi$n dei&rer+as en ugar de directivas de pgina
Etiquetas especiaes h:heady h:body
)usuas especiaes en we&.4m2
conte4t5param !desarroo( producci$n( 6"
servet !FacesServet( oad5on5startup" Servet5mapping !por defecto( /faces/7"
wecome5fie !faces/0eo.43tm"
-
8/10/2019 JSF contenido y Distribucion
5/88
E,empo de 0eo.43tm
894m version:;F5?; 9@
8ADB)>C*E 3tm *='-)
5//1)//D>D G0>H- ransitiona//EI
3ttp2//www.w.org/>/43tmD/43tm
-
8/10/2019 JSF contenido y Distribucion
6/88
E,empo de we&.4m
894m version:F5?9@
8we&5app version:.
4mns:3ttp2//,ava.sun.com/4m/ns/,avaee
4mns24si:3ttp2//www.w.org/LS>#ME8/param5name@
8param5vaue@Deveopment8/param5vaue@
8/conte4t5param@
-
8/10/2019 JSF contenido y Distribucion
7/88
E,empo de we&.4m(
8servet5name@Faces Servet8/servet5name@
8servet5cass@,ava4.faces.we&app.FacesServlet8/s5cass@
8oad5on5startup@
-
8/10/2019 JSF contenido y Distribucion
8/88
Etiquetas y componentes
0ay tres tipos de etiquetas JSF( incuidos entres &i&iotecas2 Etiquetas de carcter transversa !&i&ioteca
core"( comunes a JS* y Faceets. Etiquetas de componentes grficas !&i&ioteca
!"#$"( comunes a JS* y Faceets.
Etiquetas espec+ficas de Faceets !&i&ioteca
facelets" #dems( as apicaciones JSF pueden
utii%ar otras eti%uetas de la bibliotecaest&ndar de 'S(!c2if( c2foEac3( etc."
-
8/10/2019 JSF contenido y Distribucion
9/88
Faceets vs JS*
Faceets permite definir pantias depginas we& que contienen partespendientes de concretar
>am&iNn permite definir componentes dedocumentos( que se pueden incuir en aspartes incompetas de as pantias
-as componentes pueden depender deparmetros !coores( tamaOo( etc." que sedeterminan a incuiras en pantias
-
8/10/2019 JSF contenido y Distribucion
10/88
JSF2 #gunas caracter+sticas
Especificaci$n en as etiquetas de caminos)paths reativos y a&soutos para el servidorde acceso a recursos !imgenes( etc".
>raducci$n automtica a ciente. #sociaci$n directa en as etiquetas a datos de a
apicaci$n !Java 'eans( etc"2 Datos necesarios para a visuai%aci$n de a pgina.
Datos proporcionados por e usuario !formuarios".
Btros datos que permiten parametri%ar e c$digo deservidor que genera a interfa%.
-
8/10/2019 JSF contenido y Distribucion
11/88
JSF2 #gunas caracter+sticas(
JSF utii%a a arquitectura HP) de formasistemtica
E servet controador( FacesServlet( es fi,oy o proporciona JSF
-a especificaci$n concreta de a navegaci$npor a apicaci$n en cada caso se reai%a
mediante un fic3ero de configuraci$n GH-que da ugar a una estructura de datos !unaut$mata"
-
8/10/2019 JSF contenido y Distribucion
12/88
JSF2 #gunas caracter+sticas(
E modeo est formado por os 'eans queguardan os datos generados por a apicaci$n.
)ada soicitud incorpora datos nuevos( que
pueden ser parmetros de contro o informa5ci$n a incorporar a modeo de servidor
=tii%a e4cusivamente peticiones *BS>( quevan siempre a servet principa. Io permiten
motores de &Qsqueda ni guardar =-sfavoritas.
-
8/10/2019 JSF contenido y Distribucion
13/88
0eo dinmico
#picaci$n que2
*ide a usuario su nom&re.
>ras pusar un &ot$n( se sauda a usuario porsu nom&re.
*ermite a vueta a a pgina inicia pusando
en otro &ot$n. Sin necesidad de vover a identificarse( vueve
a a segunda pgina pusando e &ot$n y e
vueve a saudar correctamente.
-
8/10/2019 JSF contenido y Distribucion
14/88
0eo dinmico(
*ginas we&2 +dentificaci,n y saludo
*gina de identificaci$n2ti%ueta est&tica que pide a identificaci$n
Formulario con dos componentes2
ampo de texto para introducir a identificaci$n
ot,n para pasar a a segunda pgina
*gina de informaci$n2"exto din&mico de saudo Formuario con &ot$n para vover a a pgina inicia
-
8/10/2019 JSF contenido y Distribucion
15/88
0eo dinmico2 identifica.43tm
832&ody@
-
8/10/2019 JSF contenido y Distribucion
16/88
0eo dinmico2 3eo.43tm
832&ody@
83
-
8/10/2019 JSF contenido y Distribucion
17/88
)ico de vida deapicaciones JSF2 E,ecuci$n
-as componentes we& dan ugar a uno&,eto Java que as modei%a !se puedever como una estructura anoga a DBH(
que tiene un nodo por cada etiqueta deFaceets"
-as componentes se reutii%an tota o
parciamente de una ve% para otra
-
8/10/2019 JSF contenido y Distribucion
18/88
)ico de vida deapicaciones JSF2 E,ecuci$n(
>ras !re"construir a vista de a apicaci$n( seapican os vaores de os parmetros de asoicitud.
# continuaci$n se reai%an conversiones yvaidaciones de vaores.
>ras eo se actuai%an os &eans asociados deacuerdo con a informaci$n contenida en as
componentes
*or Qtimo se e,ecutan os mNtodos apropiados.
-
8/10/2019 JSF contenido y Distribucion
19/88
)ico de vida deapicaciones JSF2 >ratamiento
=na ve% e,ecutada a vista( se reai%a sutratamiento !render" para generar e c$digo0>H- correspondiente.
E tratamiento o efectQa un o&,eto(denominado renderer( cuya funcionaidadpuede adaptarse para distintas
apicaciones. Java EE proporciona unrendererpor defecto que es apropiadopara a mayor+a de as apicaciones we&
-
8/10/2019 JSF contenido y Distribucion
20/88
)ico de vidade apicaciones JSF
89
;0>H-
8!e"construir r&o
9*asar
parmetros
Paidaci$n
ncorporarinformaci$n
=Eventos
#picaci$n
-
8/10/2019 JSF contenido y Distribucion
21/88
-
8/10/2019 JSF contenido y Distribucion
22/88
)ico de vidade apicaciones JSF(
Durante cada fase en e cico de vida seproducen eventos( ante os cuaes aapicaci$n puede reaccionar mediante
isteners
-
8/10/2019 JSF contenido y Distribucion
23/88
'eans gestionados enapicaciones JSF
SegQn 3emos visto en e apartado de )D(en as apicaciones we& !por o tanto( enparticuar( en as apicaciones JSF" se
pueden asociar &eans a conte4tos E conte4to de os &eans utii%ados en JSF
se especifica mediante as anotaciones
que 3emos visto en e apartado de )D.
-
8/10/2019 JSF contenido y Distribucion
24/88
'eans gestionados enapicaciones JSF(
*ara que os &eans gestionados de unaapicaci$n JSF se adapten a cico de vidade a pgina 3an de tener adems de as
anotaciones previstas por )D a anotaci$nUHanaged'ean.
-a configuraci$n de os &eans gestionados
en JSF se puede 3acer en e fic3erodeconfiguraci$n faces-config.xml( que eso&igatorio pero puede estar vac+o.
-
8/10/2019 JSF contenido y Distribucion
25/88
Especificaci$n de a navegaci$nentre pginas JSF
-a pgina de destino tras pusar un &ot$nen una pgina JSF puede no ser fi,a.
#dems de a posi&iidad de utii%ar unmNtodo que a cacue( tam&iNn se puedeutii%ar un aut$mata !mquina de estados".
E aut$mata se puede definir mediante
regas de navegaci$n incuidas en efic3ero de configuraci$n faces5config.4m.
-
8/10/2019 JSF contenido y Distribucion
26/88
=so de e4presiones =E-
-os atri&utos de as componentes y otroso&,etos generados por JFS se evaQan ene momento que es corresponde de cico
de vida. *or e,empo( os vaores que se o&tienen
de a apicaci$n( como os contenidos de
as etiquetas( se evaQan en a fase deincorporaci$n de datos de a apicaci$n(tras procesar os parmetros de asoicitud.
-
8/10/2019 JSF contenido y Distribucion
27/88
=so de e4presiones =E-(
*ara controar a evauaci$n de os atri&utos( susvaores son normamente e4presiones =E- deevauaci$n retardada( VW6X.
Iormamente son e4presiones que correspondena l-values( es decir que su vaor es una referen5cia asigna&e. *or e,empo( no pueden ser eresutado de una operaci$n o una comparaci$n ni
nQmeros( pero pueden ser atri&utos de o&,etos.>am&iNn pueden ser coecciones oenumeraciones.
-
8/10/2019 JSF contenido y Distribucion
28/88
E,ercicio opciona
YJSF
-
8/10/2019 JSF contenido y Distribucion
29/88
Diferencias en a e,ecuci$nentre SJ* y Faceets
E c$digo JS* da ugar a un servet que secompia a primera ve% que se accede a apgina y !re"construye a vista cada ve%
E c$digo Faceets se compia y e servetFaces)onte4t o ama cuando tiene que!re"construir a pgina
-
8/10/2019 JSF contenido y Distribucion
30/88
)omponentes grficas2 >e4to fi,o
8h:output"ext
value3R[WpriceX
lang3RenL=S/@
-
8/10/2019 JSF contenido y Distribucion
31/88
)omponentes grficas2)ampo de te4to
8h:input"ext
re%uired3Rtrue
max$ength3Rvalue3VW&ook.priceX@
8/32input>e4t@
-
8/10/2019 JSF contenido y Distribucion
32/88
)omponentes grficas2 magen
8h:graphic+mage
3eig3t:R
engt3:R
-
8/10/2019 JSF contenido y Distribucion
33/88
-
8/10/2019 JSF contenido y Distribucion
34/88
)omponentes grficas2ecuadros de seecci$n mQtipe
8h:select#anyhecbox
id:carsR
vaue:VWcars'ean.carX@8f:select+tems
vaue:VWcar'ean.car-istX/@
8/32seectHany)3eck&o4@
-
8/10/2019 JSF contenido y Distribucion
35/88
)omponentes grficas2ecuadros seecciona&es
8h:selectooleanhecbox
title:emai=pdatesR
vaue:VW,sfe4.wants=pdatesX @8/32seect'ooean)3eck&o4@8h:output"ext
vaue:1oud you ike emaiupdates9/@
-
8/10/2019 JSF contenido y Distribucion
36/88
Btras componentes deseecci$n
32seectHany-ist&o4
32seectBne-ist&o4
32seectBneadio
-
8/10/2019 JSF contenido y Distribucion
37/88
)omponentes grficas2 *anees
>a&a con nQmeros
<
*ie de ta&a
-
8/10/2019 JSF contenido y Distribucion
38/88
)omponentes grficas2 *anees(
e4t vaue:>a&a con nQmeros/@
8/f2facet@
832output>e4t vaue:e4t vaue: /@
832output>e4t vaue: /@
8f:facet name3AfooterA@
832output>e4t vaue:R*ie de ta&a /@
8/f2facet@
8/32paneMrid@
-
8/10/2019 JSF contenido y Distribucion
39/88
)omponentes grficas2 >a&as
8h:data"able id:&ooksR vaue:VW'ookStore.itemsXR
var34booA@
832output>e4t vaue:VWmsg.storeIame-a&eX/@
8/f2facet@
832output>e4t vaue:VWboo.nameX/@ 8/32coumn@
832coumn@ 8f2facet name:3eader@
832output>e4t vaue:RVWmsg.store>ype-a&eX/@
8/f2facet@ 832output>e4t vaue:VWboo.su&,ectX/@
8/32coumn@ 8/32data>a&e@
-
8/10/2019 JSF contenido y Distribucion
40/88
)omponentes grficas2'ot$n y enace con acci$n
832command'utton
action:Rpg
vaue:RBT
/@
832command-ink
action:461pg925
vaue:R=#H
/@
) f
-
8/10/2019 JSF contenido y Distribucion
41/88
)omponentes grficas2'ot$n y enace con acci$n(
Se pueden utii%ar varios &otones yenaces en un mismo formuario !JSFgenera e c$digo necesario para su
funcionamiento( utii%ando campos ocutosen e formuario".
E atri&uto action( adems de una cadena
de caracteres( puede ser un mNtodopQ&ico de cuaquier o&,eto sinargumentos( que devueva una cadena.
) fi
-
8/10/2019 JSF contenido y Distribucion
42/88
)omponentes grficas2Hensa,es de errores de usuario
ncuye todos os mensa,es de error para eusuario2
ncuye mensa,es de error de una componente2e4t id:useraddressR
vaue:VW,sfe4ampe.addressXR
re%uired3AtrueA/@
-
8/10/2019 JSF contenido y Distribucion
43/88
Depuraci$n
JSF !con faceets" no crea un servet porcada pgina
-as pginas no se pueden depurar +nea a
+nea !cada +nea de c$digo se transformaen instrucciones distri&uidas en variosugares de c$digo Java"
-os errores producidos en e contenedor sepueden utii%ar para depurar igua que enas dems apicaciones we&
-
8/10/2019 JSF contenido y Distribucion
44/88
Depuraci$n(
E fic3ero we&.4m incuye informaci$nacerca de a forma de e,ecuci$n. En aforma de desarrolloa apicaci$n muestra
en e navegador informaci$n detaadaacerca de os errores de compiaci$n
Se puede o&tener informaci$n acerca de
r&o de componentes we& introduciendo enuna componente a etiqueta ui2de&ug.
-a informaci$n se muestra con )tr5S3ft5D
-
8/10/2019 JSF contenido y Distribucion
45/88
Depuraci$n(
0ay 3erramientas que permiten seguir ecico de vida de a apicaci$n
,sftutorias.net/faces5config/p3ase>racker.3tm
*3ase >racker muestra a informaci$ncorrespondiente a cada cam&io de faseen e cico de vida
*3ase >racker utii%a un istener deeventos de a evouci$n de cico de vida
-
8/10/2019 JSF contenido y Distribucion
46/88
Funcionaidad de etiquetastransversaes
#cciones para a manipuaci$n de eventos
)onversi$n de datos
Paidaci$n de datos nternacionai%aci$n
-
8/10/2019 JSF contenido y Distribucion
47/88
Hodeo de conversi$n de datos
-a estructura de datos utii%ada en apresentaci$n no es a misma que se utii%aen a representaci$n de datos por e
servidor. E,empo2 =na fec3a se puede mostrar
mediante tres cadenas de caracteres.
JSF proporciona conversores estndar. Se pueden definir ms conversores.
-
8/10/2019 JSF contenido y Distribucion
48/88
E,empos de conversores de datos
832output>e4tvaue:R[WpriceXang:RenL=S
converter38f:convertBumbertype:Rcurrencyma4FractionDigits:R
/@ /@
832output>e4t vaue:VWartice.dateX@8f:convertCate"ime dateStye:fu/@
8/32output>e4t@
-
8/10/2019 JSF contenido y Distribucion
49/88
Hodeo de vaidaci$n
JSF permite definir restricciones so&re osvaores de determinados datosintroducidos por os usuarios.
JSF proporciona vaidadores estndar.
Se pueden definir ms vaidadores.
-
8/10/2019 JSF contenido y Distribucion
50/88
E,empos de vaidadores
8h:input"ext
re%uired3Rtrue
max$ength3R
value3VWartice.priceX@e4t@
-
8/10/2019 JSF contenido y Distribucion
51/88
Hodeo de eventos
-as acciones de usuario generan eventos( queson o&,etos de una case JSF.
-os eventos de acci$n( como os &otones y osenaces( dan ugar a una petici$n a servidor ypueden activar acciones en N.
-os eventos de cam&io de vaor( como aseecci$n de items en una ista y a activaci$n de
uncheck box
( adems de poder generar aevauaci$n de mNtodos JS en e ciente( puedenactivar acciones espec+ficas en e servidor( comoe acceso a una &ase de datos.
-
8/10/2019 JSF contenido y Distribucion
52/88
Hodeo de eventos2 E,empo
832command'utton
action3401bean.method25
vaue:RBT/@ cass 'ean W 6
String method) W 6 X X
-os obDetos registradospara reci&ireventos reci&en e vaor que devuevemet3od!"
-
8/10/2019 JSF contenido y Distribucion
53/88
ecordatorio2 )ico de vida
89 abc
;0>H-
8)rear
9*asar
Paidar yeventos c.v.
ncorporar
=Eventos
#picaci$n
-
8/10/2019 JSF contenido y Distribucion
54/88
Hodeo de eventos2 *riori%aci$n
-as acciones desencadenadas en eservidor por os eventos de acci$n see,ecutan inmediatamente antes de
generar a respuesta. -as acciones desencadenadas en e
servidor por os eventos de cam&io de
vaor se e,ecutan en a fase de vaidaci$n.
-
8/10/2019 JSF contenido y Distribucion
55/88
Hodeo de eventos2 *riori%aci$n(
# veces se desea que as acciones asociadas aeventos de acci$n modifiquen datos necesariosen fases previas( como a incorporaci$n de
datos de a apicaci$n !por e,empo( si un datogenerado por e usuario se utii%a en apresentaci$n inmediata".
# veces se desea priori%ar a e,ecuci$n de as
acciones asociadas a eventos de cam&io devaor !por e,empo( si modifican datosnecesarios en otra acci$n de mismo tipo".
-
8/10/2019 JSF contenido y Distribucion
56/88
Hodeo de eventos2 *riori%aci$n(
Si una componente grfica tiene suatri&uto immediatecon vaor true( asacciones desencadenadas en e servidor
por os eventos de acci$n y cam&io devaor se e,ecutan a fina de a fase deapicaci$n de parmetros de a petici$n(
resoviendo os pro&emas anteriores.
-
8/10/2019 JSF contenido y Distribucion
57/88
Hodeo de navegaci$n
JSF permite especificar a navegaci$n entrepginas mediante regas que indican quNeventos permiten pasar de una pgina a otra.
E evento nulldirige de nuevo a a Qtimapgina.
-a especificaci$n de a navegaci$n enapicaciones &asadas en JSF se 3ace mediante
e fic3ero de configuraci$n faces5config.4m enugar de utii%ar un servet.
Hodeo de na egaci$n
-
8/10/2019 JSF contenido y Distribucion
58/88
Hodeo de navegaci$n2Formato de as regas
8navigation-rule@
8from-vie-id@/init.,sp8/from5view5id@
8navigation-case
@
8from-outcome@event8/from5outcome@
8to-vie-id@/end.,sp8/to5view5id@
8/navigation5case@8/navigation5rue@
ncusi$n de mensa,es
-
8/10/2019 JSF contenido y Distribucion
59/88
ncusi$n de mensa,es!parte de te4to de a pgina"
Fic3ero
src/articles/Erticle#sgs.properties2
6
Serverrror:equest not competed
)ientError:Form not fied
6
ncusi$n de mensa,es2
-
8/10/2019 JSF contenido y Distribucion
60/88
ncusi$n de mensa,es2)arga seectiva
Fic3ero #rtices.,sp2
8f:loadundle
basename34articles.ArticleMsgs4
var:RartmsgR/@
6
832output>e4tvaue:RVWartmsg.ServerrrorX/@
ncusi$n de mensa,es2
-
8/10/2019 JSF contenido y Distribucion
61/88
ncusi$n de mensa,es2)arga go&a
Fic3ero faces5config.4m2
8resource5&unde@
8&ase5name@
articles.ArticleMsgs8/&ase5name@
8var@artmsg8/var@
8/resource5&unde@
Fic3ero #rtices.,sp2
832output>e4t vaue:RVWartmsg.ServerrrorX/@
-
8/10/2019 JSF contenido y Distribucion
62/88
*arametri%aci$n de mensa,es
Fic3ero de propiedades26Seecci$n:E socio 123a sido seeccionado
6 Fic3ero Socios.,sp28f2oad'unde &asename:RR var:RssR/@832outputFormat vaue:RVWss.SeeccionX@
8/32outputFormat@
*ermite cam&iar e orden de as paa&ras endistintos idiomas.
)omponentes grficas2 #daptaci$n
-
8/10/2019 JSF contenido y Distribucion
63/88
)omponentes grficas2 #daptaci$nde mensa,es de errores de usuario
832input>e4t id:Rcap a&e:R)apituo
vaue:RVW-i&ro'ean.capIumX
converter#essage: RVWErrHsg.capEX@
-
8/10/2019 JSF contenido y Distribucion
64/88
nternacionai%aci$n
Forma idiomtica !ocae"2 Especifica un idioma(pa+s y variante de idioma
E,empo2
ngNs de Estados =nidos EspaOo de EspaOa( variante andau%a
FrancNs
Se especifica mediante una cadena de a forma
GGGLCCCL\\\ E,empo2 enL=S Iormamente( e pa+s se pone con mayQscuas
-
8/10/2019 JSF contenido y Distribucion
65/88
nternacionai%aci$n(
Fic3eros de propiedades2
#rticeHessages.properties
#rticeHessagesLenL=T.properties
#rticeHessagesLenL=S.properties#rticeHessagesLesLES.properties
#rticeHessagesLesLHG.properties
#ternativa2
#rticeHessagesLen.properties
#rticeHessagesLes.properties
-
8/10/2019 JSF contenido y Distribucion
66/88
nternacionai%aci$n(
)ada navegador en cada *) tiene unapreferencia idiomtica esta&ecida.
)ada apicaci$n we& puede tener una
preferencia idiomtica propia.
En genera( as componentes grficaspueden esta&ecer un ocae espec+fico.
-
8/10/2019 JSF contenido y Distribucion
67/88
nternacionai%aci$n( P
*referencia idiomtica de una apicaci$n JSF2Fic3ero faces5config.4m
8appication@8ocae5config@
-
8/10/2019 JSF contenido y Distribucion
68/88
nternacionai%aci$n( P
nternacionai%aci$n de apicaciones we&generaes2
E4ige programaci$n en Java
=tii%ar a case *ropertyesource'unde(construyendo instancias a partir de un ocaey os fic3eros de propiedades.
)onstruir os mensa,es que aparecen en aspginas a partir de ospropertyesource'undes consruidos.
-
8/10/2019 JSF contenido y Distribucion
69/88
Faceets2 *antias
=na pantia es un documento de Faceetsque tiene partes pendientes de reenar.
-as partes pendientes de reenar pueden
tener un contenido por defecto( que sesustituye por otro contenido cuando seinstancia a pantia.
*or e,empo( a ta&a de a transparenciasiguiente puede ser una pantia.
Pisuai%aci$n de pantia
-
8/10/2019 JSF contenido y Distribucion
70/88
Pisuai%aci$n de pantiasin instanciar
GE# scuela (olitHcnica de #adrid
#qu+vasuHenQ
6
#qu+ va su te4to( que puede ser tan argo y a&urrido como Pd.quiera( pero eso s+( o tiene que escri&ir desde e principio3asta e fina( porque si no aparecer esto.
)odificaci$n de a pantia
-
8/10/2019 JSF contenido y Distribucion
71/88
)odificaci$n de a pantia!fic3ero pantia.43tm"
832&ody@
-
8/10/2019 JSF contenido y Distribucion
72/88
nstanciaci$n de a pantia!fic3ero instanciaciacion.43tm"
832&ody@
-
8/10/2019 JSF contenido y Distribucion
73/88
)onsideraciones acerca de ainstanciaci$n
E contenido que se incuye en os 3uecosde una pantia puede ser ar&itrario. *ore,empo( se pueden incuir formuarios(
ta&as o eementos 0>H- de JSF decuaquier tipo y en cantidad ar&itraria.
>am&iNn se pueden incuir componentes
compuestas reutii%a&es( como unformuario que pide un te4to a usuario y oguarda en un ugar de memoria.
)omponentes compuestas2
-
8/10/2019 JSF contenido y Distribucion
74/88
)omponentes compuestas2E,empo
)antidad2 Euros
-as etiquetas R)antidad2( REuros y RBTse pueden cam&iar cada ve% que se utii%a
a componente.>am&iNn se pueden cam&iar e nom&rede a varia&e donde se guarda e vaorintroducido por e usuario y a =- destino.
BT
=tii%aci$n de a
-
8/10/2019 JSF contenido y Distribucion
75/88
=tii%aci$n de acomponente compuesta
8rm2introte4t preetiqueta:R)antidad2
contenido:RVWcantidad'eanX
postetiqueta:REuros&otonok:RBT
action:Rinde4/@
*reetiqueta *ostetiqueta
)antidad2 Euros BT)ontenido 'otonBT
Definici$n de a
-
8/10/2019 JSF contenido y Distribucion
76/88
Definici$n de acomponente compuesta
dea2 Se considera a a componente como unafunci$n de cinco argumentos2 apreetiqueta( acantidad( apostetiqueta( e botnOK y a
action. SegQn 3emos visto( en a utii%aci$n de a
componente os vaores de os argumentos seespecifican indicando correativamente sus
nom&res y vaores( en ugar de escri&ir susvaores concatenados separados por comas.
Definici$n de a
-
8/10/2019 JSF contenido y Distribucion
77/88
Definici$n de acomponente compuesta(
-a definici$n de a componente es parte deun fic3ero 43tm( que incuye una ca&ecera!a especificaci$n de os argumentos" y un
cuerpo !a especificaci$n de a componenteen s+".
-os argumentos se especifican dentro de
una cusua con etiquetacomposite:interface( y cada uno eva aetiqueta composite:attribute.
Definici$n de a
-
8/10/2019 JSF contenido y Distribucion
78/88
Definici$n de acomponente compuesta(
-a componente parametri%ada !cuerpo de adefinici$n" se especifica en a forma que ecorresponde mediante cusuas de Faceets
dentro de una cusua con etiqueta( incuyendo enos ugares donde tienen que aparecer osargumentos a f$rmua =E-
01cc.attrs.nombreparam2( dondenombreparames e nom&re de parmetroque tiene que aparecer.
E,empo de definici$n de
-
8/10/2019 JSF contenido y Distribucion
79/88
E,empo de definici$n decomponente compuesta
-
8/10/2019 JSF contenido y Distribucion
80/88
E,empo de definici$n decomponente compuesta(
6
832form@
8h:output$abel
vaue:R01cc.attrs.preeti%ueta2/@
8h:output"ext
vaue:R01cc.attrs.contenido2/@
6
E,empo de definici$n de
-
8/10/2019 JSF contenido y Distribucion
81/88
E,empo de definici$n decomponente compuesta(
6
8h:output$abel
vaue:R01cc.attrs.posteti%ueta2/@8h:commandutton
vaue:R01cc.attrs. boton?I2
action:R01cc.attrs.action2/@8/32form@
Definici$n de a
-
8/10/2019 JSF contenido y Distribucion
82/88
Definici$n de acomponente compuesta( P
E fic3ero 43tm con a definici$n de unacomponente se incuye en un directorioque corresponde a una &i&ioteca de
recursos. E directorio es un su&directorio de a
forma /resources/nom&re'i&ioteca.
=tii%aci$n de a
-
8/10/2019 JSF contenido y Distribucion
83/88
=tii%aci$n de acomponente compuesta(
E fic3ero que utii%a a componente tiene que incuira &i&ioteca igua que o 3ace con as &i&iotecasestndar de Faceets2
83tm 4mns:3ttp2//www.w.org/
-
8/10/2019 JSF contenido y Distribucion
84/88
)omponentes compuestas ypatrones de documentos
-os atri&utos de as componentescompuestas son cadenas de caracteres(a igua que os de cuaquier etiqueta en
GH-( y en particuar os de componentesgrficas de Faceets.
-as componentes compuestas no son
documentos competos( sino que seincuyen en 3uecos de pantias.
)omponentes compuestas y
-
8/10/2019 JSF contenido y Distribucion
85/88
)omponentes compuestas ypatrones de documentos(
-as pantias de documentos JSF sondocumentos que se pueden ver comofunciones de os 3uecos que contienen.
Desde este punto de vista( sus parmetroso argumentos son componentes( &iensean predefinidas en a &i&ioteca 0>H-
de Faceets o definidas por usuarios comocomponentes compuestas.
E, i i i
-
8/10/2019 JSF contenido y Distribucion
86/88
E,ercicio opciona
YJSFZ DiseOar una pantia( unacomponente compuesta y dos pginas deFaceets que 3agan o siguiente2
-a pantia muestra en a parte superior unformuario con un campo de te4to y un &ot$nRS3ow( que 3ace que e te4to introducido pore usuario se guarde en un atri&uto de sesi$nfi,o^ a parte inferior por defecto contiene ete4to R*or determinar.
E, i i i
-
8/10/2019 JSF contenido y Distribucion
87/88
E,ercicio opciona(
YJSFZ 6 -a primera pgina utii%a a pantia para
mostrar en a parte inferior a imagen de un
directorio que corresponde a te4tointroducido por e usuario en a parte superior.
-a componente compuesta muestra econtenido de una ta&a( cuyo nom&re es su
Qnico parmetro( de una &ase de datos fi,a.
E, i i i
-
8/10/2019 JSF contenido y Distribucion
88/88
E,ercicio opciona(
YJSFZ 6 -a segunda pgina utii%a a pantia y a
componente compuesta para mostrar en a
parte inferior a ta&a cuyo nom&re introducee usuario en a parte superior
!En genera( a pantia se puede utii%ar
para visuai%ar instanciaciones decomponentes compuestas ar&itrarias conun soo atri&uto"