ADF tips: Cambiar de skin en tiempo de ejecución dependiendo de la URL

ADF tips

Hace unos meses, Andrejus publicó cómo cambiar entre Skyros y AltaUI en ADF 12c. Esta es una forma perfecta para empezar una migración de 11g a 12c y AltaUI. En este post voy a mostraros otra forma de cambiar de skin en tiempo de ejecución dependiendo de la página en la que estemos.

Primero tenemos que crear un bean ‘SkinSelector’ y una propiedad dentro del bean ‘currentSkin’. También tenemos que añadir su método get y set.

1

2

Una vez tenemos creado el bean, y lo hemos registrado en el adfc-config, vamos a asignar dicha propiedad al skin-family del fichero trinidad-config.xml para que podamos setear dicha propiedad dinámicamente.

3

El siguiente paso es crear un Filter. Dentro de la clase java, en el método doFilter vamos a evaluar la URL en la que nos encontramos y vamos a asignar la propiedad ‘currentSkin’ del bean ‘SkinSelector’ dependiendo del valor. También tenemos que instanciar el bean y añadirlo a sessionScope ya que la primera vez que ejecutemos será null.

4

Una vez que tenemos el filtro creado, tenemos que registrarlo en el fichero web.xml.

5

Ya hemos terminado de preparar todo lo necesario y, teniendo múltiples páginas, podemos ver que si navegamos a la página ‘alta’ se mostrará la página con el skin Alta, y si no, el skin que veremos será Skyros.

6

 

7

Twitter
LinkedIn
Evolución, innovación y transformación
37 Service Expertise avalados por Oracle 
Our value proposition
100% Oracle posts
Follow our day-to-day activities