JSF Asíncrono a Través de Ajax

7
JSF Asíncrono a través de Ajax Las técnicas Ajax nos permiten complementar nuestras aplicaciones Java, dotándolas de procesado asíncrono en el lado cliente. Las tareas se realizan de forma paralela, sin interrumpir o bloquear la ejecución del navegador, lo que mejora la experiencia del usuario en nuestra aplicación. Siendo la forma más habitual de realizar nuestras peticiones Rest y cargar datos externos estructurados de tipo Json, o bien, ficheros xml. Gestión de Eventos en Cliente. A partir de la versión de 2.X de primefaces encontramos un amplio soporte AJAX y podemos invocar JavaScript desde algunos de nuestros componentes JSF. Si utilizamos JSF 2.X, podemos utilizar la etiqueta <f:ajax> dentro de nuestros componentes, para registrar nuestros eventos. Previamente, en nuestro facelet debemos registrar el componente <h:head>, en lugar de declarar directamente la etiqueta <head>. De otro modo, los scripts JSF no podrían registrarse y no estarían disponibles para la aplicación. Algunos atributos de la etiqueta <f:ajax> a destacar: event. Nos permite identificar el nombre del evento ajax que esperamos para el componente. Previamente, en la definición del componente, comprobaremos que lo soporte. execute. Es una colección de identificadores de elementos (separados por espacios) que se tendrán en cuenta en la petición (ajax request). Estará compuesto por los id de los componentes, o bien, por una referencia @this, @form, @all, @none. Si no se especifica este atributo, por defecto tomará la referencia @this.

description

JAVA

Transcript of JSF Asíncrono a Través de Ajax

JSF Asncrono a travs de AjaxLas tcnicas Ajax nos permitencomplementar nuestras aplicaciones Java, dotndolas deprocesado asncrono en el lado cliente. Las tareas se realizan de forma paralela, sin interrumpiroblouearlaejecuci!ndel nave"ador, louemejoralaexperienciadelusuarioennuestraaplicaci!n.Siendolaformams#abitual derealizarnuestraspeticiones$est %car"ardatosexternosestructurados de tipo Json, o bien, fic#eros xml.Gestin de Eventos en Cliente.A partir de la versi!n de &.' de primefacesencontramos un amplio soporte AJA' % podemosinvocar JavaScript desde al"unos de nuestros componentes JSF. Si utilizamos JSF&.',podemos utilizar la etiueta dentro de nuestros componentes, para re"istrar nuestroseventos.(reviamente, ennuestro facelet debemos re"istrar el componente , enlu"ar dedeclarar directamente la etiueta )#ead*. +e otro modo, los scripts JSF no podran re"istrarse% no estaran disponibles para la aplicaci!n.Al"unos atributos de la etiueta )f,ajax* a destacar, event. -os permiteidentificar el nombredel eventoajaxueesperamos paraelcomponente. (reviamente, en la definici!n del componente, comprobaremos ue lo soporte. execute..s una colecci!n de identificadores de elementos/separadosporespacios0uesetendrnencuentaenlapetici!n/ajaxreuest0. .starcompuestoporlosiddeloscomponentes, o bien, por una referencia 1t#is, 1form, 1all, 1none. Si no se especifica esteatributo, por defecto tomar la referencia 1t#is. render. -uestra colecci!ndeid2s decomponentes ueserenderizarn. 3ambindebenestarseparadosporespacios%podemosutilizarreferenciasdecomponentes/1t#is,1all,....0. Si no aparece esta etiueta asume como valor 1none. listener. Al ue#acemosreferenciamediante.L, %representael mtodoueseejecutar en el lado servidor.Los componentes primefaces % la etiueta )p,ajax*, a4aden mas atributos, update. 5d2s de componentes a renderizar. callbac6sjavascript. +isponemosdevariasetiuetasuelanzanjavascriptcallbac6sse"7n el estado de nuestra petici!najax, onstart, oncomplete, onsuccess, onerror, obien, por eventos re"istrados en elnave"ador,onclick, ondblclick, onblur, onchange, onfocus, onkeydown, onkeypress, onkeyup, onmousedown,onmousemove, onmouseout, % onmouseover. immediate . -os permite indicar cuando se procesarn las peticiones. 8uando es true,las acciones son procesadas inmediatamente cuando asi"namos un valor, es decir, en la fase9appl%:reuest:values9. 8uando es 9false9 el procesamiento se realiza en la fase9invo6e:application:p#ase9. .s7til, cuandodeseamosprocesar deformaparcial nuestrosformularios. process. 8olecci!n de identificadores de componentes /separadas por espacios0 ue seprocesarn en las peticiones parciales. 3ambin podemos utilizar referencias para identificarnuestros elementos, 1t#is, 1form, 1all, 1none, % 1parent. widgetvar. -os permite a4adir un nombre a nuestro componente en el lado cliente,ue nos permite referenciar nuestro componente una vez rendereizado desde nuestros scriptsjavascript en el lado cliente.8on unos ejemplos sencillos podemos #acernos una idea de las posibilidades ue tenemos,Aadiendo Aax a nuestros formularios;n ejemplo sencillo de ajax utilizando nuestra etiueta )f,ajax*,1. 2. 3. 4. 5. 6. 7. 8.

!rocesamiento parcial

4ea-e 5ait5. ? bien, lanzados por un evento en el lado cliente,1. *avax.fa'e-.(T9T:;(93;?:T@AB-erver