JSF salta fases - Cómo depurar eso?
Pregunta
Estoy depurar una aplicación JSF extranjera. El problema es, que enviar un formulario, pero los valores no se trasladarán.
Con una fase de escucha que puedo ver, que el ciclo de la vida no se ejecuta completamente a través de, por así decirlo se salta la fase 2 -5: Después de la fase de vista de la restauración, la fase de respuesta render es llamado directamente. Echo de menos los valores, la validación, las acciones de aplicación modelo de actualización y así sucesivamente.
Por lo tanto, esto podría ser un problema de la gallina y el huevo: 1. Las fases responsables no se llaman, por lo que la nueva entrada de formulario no se puede llevar de nuevo. 2. El sistema no reconoce ninguna nueva entrada y por lo tanto directamente hace después de restaurar la vista.
he comprobado que no hay ninguna llamada de responseComplete () oder renderResponse ().
Estoy atascado de alguna manera. Alguna idea para validar una de las dos hipótesis? O cómo depurar que, en general? ¿Alguien tiene un problema similar?
Actualizar
Tengo la sospecha, que JSF no tiene conocimiento de los Solicitud de devolución de datos y manijas esto como un vista inicial . Eso explicaría, que sólo pase la fase 1 y 6.
¿Cómo puedo comprobar si JSF reconoce esto como un no-caras-petición ?
¿Cómo puedo comprobar, si no es el adecuado treeID en el facesContext
actual.
Solución 2
Encontrados la solución! Lo siento, pero fue muy específico de la aplicación supongo: La costumbre StateManager para JSF no era utilizable con JSF 1.2. La causada este extraño error. Consiguió el StateManager fijo y todo funcionaba bien. Eso es amargo y cuestan mucho tiempo: - (
Gracias por su ayuda de todos modos: -)
Otros consejos
cito de una respuesta que he publicado antes :
Siempre que un componente
UICommand
deja de invocar la acción asociada, Compruebe lo siguiente:
- componentes
UICommand
deben ser colocados dentro de un componenteUIForm
(Por ejemploh:form
).- No se puede nido varios componentes entre sí en
UIForm
(Cuidado con incluir archivos!).- No hay error de validación / conversión debería haberse producido (uso
h:messages
para llegar a todos ellos).- Si los componentes
UICommand
se colocan dentro de un componenteUIData
, asegurarse de que exactamente el mismoDataModel
(el objeto detrás de laUIData
atributo devalue
) es preservado.- Los
rendered
ydisabled
atributos del componente y todos los componentes padre no debe evaluar a aplicar durantefalse
fase valores de petición.- Asegúrese de que ningún
PhaseListener
o cualquierEventListener
en el cadena de petición-respuesta ha cambiado la JSF ciclo de vida para omitir la invocación acción de fase.- Asegúrese de que ningún
Filter
oServlet
en la misma petición-respuesta cadena ha bloqueado la solicitud fo laFacesServlet
de alguna manera.
Dado que en su caso particular, las fases 2-5 se ha omitido y que usted está seguro (?) Que FacesContext#renderResponse()
no se le ha llamado, las causas 3, 6 y 7 puede ser rayado de la lista. Las causas 4 y 5 pueden ser rayado es probable que también, dependiendo de la forma en cómo se depuró las fases JSF. Investigar las otras causas. Mis centavos por causa 2. Comprobar si no ven en <form><form></form></form>
fuente HTML generado y retroceder en esta fuente de JSF.