III.3.2. Segundo caso: transferencia desde una clase con el comando "redirect"
También se puede usar el comando "redirect", para desplegar una página web desde cualquier clase. Su sintaxis es la siguiente:
FacesContext.getCurrentInstance().getExternalContext().redirect("nombreVista");
O, de manera más general:
FacesContext.getCurrentInstance().getExternalContext().redirect(nombre.nombreMetodo(parámetro));
En este último comando, el método invocado debe devolver un String con el nombre de la vista. A continuación presentamos un ejemplo.
Ahora la página index.xhtml contiene el siguiente código.
index.xhtml despliega la página de la siguiente Figura
El código del managed Bean navegador:
El objeto administrador instancia al objeto catalogoInterfaces, que tiene el método obtenerNombreInterfaz(interfaceId). Este último recibe como parámetro la identidad de la vista que se va a desplegar y devuelve un String con el nombre de la vista requerida. La clase AdministraVista es la que redirecciona a la página destino por medio del comando redirect.
A continuación presentamos el código de la clase AdministraVista.
La clase Interfaces es la siguiente.