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.