miércoles, 4 de julio de 2012

ADF 11g: Variables de página

Una duda que suele surgir a la hora de crear la pageDef de una página es la siguiente:

Enlace a descarga del ejemplo

¿Para qué sirve el 'executable' variables?
Una de las funcionalidades que nos permite es la creación de "variables" asociadas a Data Controls (como cuando hacemos Drag & Drop de una View Object y genera el Iterator). Pero, por otro lado nos permite la generación de variables del tipo que queramos (por ejemplo java.lang.String).


Executable variables de una pageDef

¿Cómo puedo crear una variable?
En la propia pageDef lo podemos realizar desde la vista Structure o desde la propia pageDef haciendo click derecho en el propio ejecutable variables.
Seleccionar en Insert Inside Variables -> variable para crear una variable.


Creación de una variable en el executable variables (I)

Dar un nombre lógico y el tipo de datos de la variable.


Creación de una variable en el executable variables (II)

Generar un binding a dicha variable para facilitar el acceso a la misma. El binding será de tipo attributeValues.

Creación del Binding a la variable (I)
Elegir la fuente del binding, en este caso, variables y la variable recién creada.

Creación del Binding a la variable (II)
Con ello ya podemos usar la variable para almacenar o mostrar los valores que queramos:

Binding a la variable creado


  • Uso en JSPX.
    Uso del Binding en JSPX

  • Uso desde JAVA.
    Uso del Binding desde JAVA
Aprovechando el ejemplo comentar que se puede modificar la ruta donde crea automáticamente JDeveloper las pageDef. Para ello seleccionar en las propiedades de proyecto del ViewController. Navegar a ADF Model y en el apartado PageDef sub-package podemos decir el prefijo de carpetas donde se almacenarán las pageDef. Hay que tener en cuenta que este prefijo será adherido al ya configurado por defecto para la aplicación como ruta de paquetes base.

Cambio de ubicación por defecto de las pageDefs

Ejemplo desarrollado en JDeveloper 11.1.1.6

Enlace al ejemplo descargable: PageDefVarApp

No hay comentarios:

Publicar un comentario