jsf contenido y distribucion

Upload: fabian-maldonado

Post on 02-Jun-2018

217 views

Category:

Documents


0 download

TRANSCRIPT

  • 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"