2012-04-10 20 views
11

Mi comprensión de JSF sigue siendo superficial.JSF 2.0 RenderResponse y ResponseComplete

Estoy leyendo el documento y según javadoc de FacesContext

no es el renderResponse y ResponseComplete que permite provocar un cortocircuito en el ciclo de vida.

Actualmente estoy confundido ... ¿cuándo se usa el uno sobre el otro en una situación real?

Gracias

Respuesta

25

Uso FacesContext#renderResponse() si quiere avanzar a la fase de respuesta rendir en este momento. Esto se ve a menudo en combinación con los piratas informáticos de cambio de valor que se ejecutan en la fase de validaciones y deben omitir los valores del modelo de actualización e invocar fases de acción.

Utilice FacesContext#responseComplete() para indicar a JSF que ya ha manejado la respuesta y, por lo que JSF no necesita mostrar la respuesta. Esto se ve a menudo en combinación con métodos de acción de bean de respaldo que escriben una descarga de archivo a la respuesta. Esto asegurará que JSF no anexe la descarga del archivo con el contenido del HTML renderizado que puede terminar en una descarga dañada o una excepción de estado ilegal.

Cuestiones relacionadas