Acceso por ID a un componente ADF por JavaScript
Hola a todos.
Una parte interesante acerca del uso de JavaScript con componentes ADF es el acceso a los mismos mediante su identificador. Puesto que el compilador de JSP's de Oracle completa con un autogenerado estos identificadores. Dificulta el uso de JavaScript común.
Por ello Oracle ADF trae consigo su propio API de JavaScript: API JavaScript de Oracle ADF .
Para acceder mediante el ID a un componente ADF pueden darse los siguientes casos:
Una parte interesante acerca del uso de JavaScript con componentes ADF es el acceso a los mismos mediante su identificador. Puesto que el compilador de JSP's de Oracle completa con un autogenerado estos identificadores. Dificulta el uso de JavaScript común.
Por ello Oracle ADF trae consigo su propio API de JavaScript: API JavaScript de Oracle ADF .
Para acceder mediante el ID a un componente ADF pueden darse los siguientes casos:
- Si el componente ADF NO se encuentra en uno de los denominados "Naming Containers" se puede utilizar la llamada AdfPage.PAGE.findComponentByAbsoluteId(idComponente).
- En el caso de usar esta llamda estando dentro de "Naming Containers" es necesaria ser llamada como AdfPage.PAGE.findComponentByAbsoluteId(rutaComponente:idComponente) donde rutaComponente es la ruta absoluta o relativa donde se encuenta nuestro componente (en lugar de usar el caracter '/' como en sistema de ficheros se utiliza el cararcter ':').
- En caso de que el componente ADF SÍ se encuentre dentro de un "Naming Container" debe utilizarse la llamada AdfUIComponent.findComponent(idComponente).
Documentación:
- La lista de "Naming Containers" la podeis encontrar en la página 608 de la Fusion Developers Guide.
- Documentación oficial Oracle sobre acceso por identificadores a componentes ADF.
Ejemplos
Ejemplo 1: Caso en el que no se encuentre dentro de un "Naming Container":
Ejemplo 2: Caso de que se encuentre dentro de un "Naming Cointainer" pero usando la llamada AdfPage.PAGE.findComponentByAbsoluteId.
Se puede observar que se ha usado la nomenclatura p1:nombre para el acceso al componente (ésta puede ser incluso relativa). Para saber cual es el identificador "named" recomiendo que ejecutéis la página y mediante herramientas tipo Firebug observar que identificador ha asignado al componente (ahorra tener que pensar la ruta). Esto es recomendable para páginas que usan complicadas plantillas y numerosos contenedores ADF.
Ejemplo 3: Caso en el que se encuentre dentro de un "Naming Container":
PD: Agradecer a Francisco Roldan por su aportación en esta entrada.
Un saludo.
Un saludo.
Comments
Post a Comment