welcome tutorial examples español ejemplos jsf primefaces

tutorial - JSF PrimeFaces p: ¿commandLink no redirigirá a la nueva página?



templates jsf primefaces (2)

El p:commandLink dispara por defecto una solicitud ajax. No devuelve una respuesta HTTP completa, sino solo una respuesta HTTP parcial que JS debe actualizar en el árbol HTML DOM.

Tienes básicamente dos opciones:

  1. Desactivar ajax por ajax="false" atributo ajax="false" . Luego lanzará una solicitud HTTP normal.

  2. Actualice (vuelva a procesar) el contenido parcial (¡en la misma página!) update="clientid" atributo update="clientid" . Puede usar el atributo rendered para controlar la representación del contenido.

Si ninguno de los dos funciona, entonces el problema está en otro lugar. Como h:commandLink funciona y el método de acción de p:commandLink también se ejecuta, solo puede significar que no está ejecutando el código que cree que está ejecutando mientras prueba ajax="false" . Verificar, guardar, reconstruir, volver a implementar, reiniciar.

Estoy usando JSF2 y GlassFish, PrimeFaces 2.1.

Esto funciona, se golpea el método showCreateProfile () y el método devuelve "profileForm" y el navegador redirige a esa página:

<h:commandLink action="#{profileHandler.showCreateProfile}" value="#{msg.menu_createNewProfile}" />

Sin embargo, esto no funciona, el método showCreateProfile () obtiene visitas, y el método devuelve "profileForm" pero el navegador no redirige a la página. Intenté tres cosas diferentes sin suerte:

<p:commandLink action="#{profileHandler.showCreateProfile}" value="#{msg.menu_createNewProfile}" /> <p:commandLink action="#{profileHandler.showCreateProfile}" value="#{msg.menu_createNewProfile}" ajax="false" /> <p:commandLink action="#{profileHandler.showCreateProfile}" value="#{msg.menu_createNewProfile}" ajax="false" immediate="true"/>

¿Alguna idea de lo que estoy haciendo mal?

Robar


PrimeFaces no admite navegaciones basadas en reenvío, necesita utilizar la redirección en lugar de reenviar si desea navegar dentro de una solicitud ajax o establecer ajax en falso como dijo BalusC.