Foros del Web » Programación para mayores de 30 ;) » Java »

[SOLUCIONADO] Reglas de navegación en JSF

Estas en el tema de Reglas de navegación en JSF en el foro de Java en Foros del Web. Buenas, quería preguntaros una duda que no consigo solventar. La duda es respecto a las reglas de navegación en JSF. Investigando un poco he visto ...
  #1 (permalink)  
Antiguo 07/03/2014, 06:39
 
Fecha de Ingreso: noviembre-2013
Mensajes: 26
Antigüedad: 10 años, 5 meses
Puntos: 0
Reglas de navegación en JSF

Buenas, quería preguntaros una duda que no consigo solventar. La duda es respecto a las reglas de navegación en JSF. Investigando un poco he visto que para hacerlo correctamente hay que hacerlas en web.xml. Yo actualmente hago la navegación entre páginas mediante botones (con el parámetro action devuelvo un string con el nombre de la página a redireccionar).

Me gustaría saber si esta forma también es correcta.

Por otra parte me gustaría saber por qué haciéndolo de esta forma al re-dirigirme en la barra del navegador no veo la ruta digamos "correcta". Si yo redirijo de esta forma desde la página "inicio.xhtml" mediante un botón con un action que devuelve "prueba.xhtml" en el navegador no veo "prueba.xhtml" sino que sigo viendo "inicio.xhtml" aunque la redirección si que se ha hecho porque veo el contenido de "prueba.xhtml".

La solución que he visto es no devolver un string con la redirección y poner lo siguiente:

Código:
FacesContext contex = FacesContext.getCurrentInstance();
            contex.getExternalContext().redirect( "prueba.xhtml" );
De esta forma si que está en la barra del navegador "prueba.xhtml".

Me gustaría saber por qué pasa esto y que es mejor.

Un saludo!
  #2 (permalink)  
Antiguo 10/03/2014, 22:02
Avatar de farfamorA  
Fecha de Ingreso: noviembre-2010
Ubicación: Lima
Mensajes: 136
Antigüedad: 13 años, 5 meses
Puntos: 24
Respuesta: Reglas de navegación en JSF

Por defecto, en JSF se implementa el reenvío de páginas (que es mucho más rápido que la redirección de páginas).
Puedes implementar una redirección de páginas tal como lo estás haciendo hasta ahora, devolviendo un String desde el método del action, pero añadiéndole un "?faces-redirect=true" así:
Código Java:
Ver original
  1. public String irPagina1() {
  2.     return "pagina1.jsf?faces-redirect=true";
  3. }

Te recomiendo esta lectura:
http://www.mkyong.com/jsf2/jsf-page-...page-redirect/

Etiquetas: jsf, reglas, string
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 06:12.