with true sirve que para from faces bean jsf view navigation

true - redirect jsf primefaces



No se puede encontrar el caso de navegaciĆ³n coincidente con from-view-id ''/pages/index.xhtml'' (1)

Tengo problemas para navegar entre mis páginas JSF. La mayor parte de mi navegación ocurre cuando haces clic en un botón de comando. La acción del botón de comando devuelve una cadena.

Mi página de inicio de sesión es mi página de bienvenida. Aquí está en mi web.xml:

<servlet-mapping> <servlet-name>Faces Servlet</servlet-name> <url-pattern>/faces/*</url-pattern> </servlet-mapping> <welcome-file-list> <welcome-file>faces/pages/index.xhtml</welcome-file> </welcome-file-list>

En la barra de direcciones de mi navegador, la página aparece como:

http://localhost:8080/ui/faces/pages/index.xhtml

Una vez que ocurre la autenticación, la función devuelve esta cadena:

"/ui/faces/pages/home.xhtml"

El archivo al que quiero navegar se encuentra en:

pages/home.xhtml

Sin embargo, cuando se supone que la navegación ocurre, obtengo este error:

No se puede encontrar el caso de navegación coincidente con from-view-id ''/pages/index.xhtml'' para la acción ''# {indexPageController.login ()}'' con el resultado ''/ui/faces/pages/home.xhtml''

¿Alguien puede ayudarme a comprender la ruta relativa que necesito para navegar correctamente a la página?


No debe incluir la ruta de contexto /ui ni las asignaciones /faces FacesServlet en el resultado del caso de navegación. Simplemente debe representar la ID de vista única, que es básicamente la ruta al archivo de vista física absoluta a la raíz de contenido web o relativa a la ID de vista actual.

Entonces, absoluto (comenzando con / ) a la raíz del contenido web:

/pages/home.xhtml

O relativo (no comenzando con / ) al ID de la vista actual (suponiendo que se encuentre en /pages/index.xhtml ):

home.xhtml

Tenga en cuenta que las anotaciones punto-barra ./ y doble-punto-barra ../ no son compatibles.

O incluso sin extensión de archivo; JSF implicará el sufijo predeterminado de Facelets, que por defecto es .xhtml y se puede configurar mediante el parámetro de contexto javax.faces.DEFAULT_SUFFIX :

/pages/home

home

Después de todo, también tiene sentido si te das cuenta de que la ruta de contexto /ui y el mapeo /faces/* FacesServlet no son controlables desde dentro de la aplicación webapp. Si alguna vez cambian externamente, teóricamente tendrías que cambiar todos los resultados de casos de navegación en toda la base de código y reconstruir la aplicación web. Esto no tendría ningún sentido. JSF toma ya cuidado de ellos para usted.

Ver también: