viernes, 27 de junio de 2014

Cómo funciona un bean request

Resumen: En este post vamos a ver el funcionamiento de un bean request. Veremos cuántas veces puede ser llamado durante la creación de una página hasta mostrar ésta.
Para ello utilizaremos el constructor del bean al que le pondremos un indicador que nos informe de que se ha ejecutado.
Esto lo haremos mostrando un mensaje en la consola (Messages - log), con la siguiente instrucción:

System.out.println("entrada al constructor");

codigo bean
vista del bean



En nuestro ejemplo, vamos a mostrar en pantalla dos valores que nos vendrá devueltos tras llamar a un método.
En este caso, los métodos los he llamado getTexto1() y getTexto2().
La razón de que sean métodos get ( accesors) es que desde la página jspx no podemos acceder al valor de una variable sino a través de un método "getter".

nuevas funciones get
funciones getter




Creamos la página (.jspx) en la cual vamos a mostrar los datos que se encuentran en los métodos indicados (ejemploBeanRequest.jspx).



creacion pagina jspx
creación de página jspx

Añadimos los OutputText que van a mostrar los textos que se encuentran en los métodos.

incluir outputtext
incluir OutputText


Enlazamos los outputText con los métodos que nos van a devolver el valor.

seleccionar binding
imagen de error al seleccionar binding


Típico error por despiste: Pulsando el atributo "Binding" (vincular), seleccionamos el bean, y la función correspondiente.
Como podemos observar en la siguiente imagen, no están disponibles los métodos que habíamos creado.
La razón es que esta vinculación se refiere a nivel de componente (CoreOutputText), y lo que hace es vincular el componente completo OutputText que tenemos en pantalla con un método que nos devuelve un componente.

binding funcion bean
binding a función de bean



Paso correcto: Se debe seleccionar el atribute "Value" que va a contener el valor que queremos que contenga el componente, con la opción "bind to data".

atributo value bind to data
atributo Value de OutputText

expression language binding
expresión del lenguaje (EL) que vincula el atributo Value con una función getter

expression language bind to funcion getter
expresión del lenguaje (EL) que vincula el atributo Value con una función getter


Ejecutamos la página y observamos el resultado.

ejecutar la pagina
ejecución de la página

resultado ejecucion
resultado ejecución



Observemos en la consola "Running embedded OC4J - Log (o el correspondiente servidor en 11g).

consola log
consola log


Como podemos observar, sólo se ha ejecutado una vez el constructor.
Si refrescáramos la página (F5 o Ctrol + R), veríamos que se vuelve a ejecutar el constructor.

mensajes llamada constructor
Messages - tras pulsar F5


Como conclusión, un request bean se ejecuta o mejor dicho, su ciclo de vida comienza y termina con la página.

Artículos relacionados:
-

-
-


Si te ha gustado este artículo, puedes seguir el blog por Blogger o Twitter

No hay comentarios:

Publicar un comentario