2012-04-10 1 views
11

La mia comprensione di JSF è ancora superficiale.JSF 2.0 RenderResponse e ResponseComplete

io sto leggendo il documento e come da javadoc di FacesContext

c'è il RenderResponse e ResponseComplete che permette di cortocircuitare il ciclo di vita.

Attualmente sono confuso .. quando si usa l'uno sull'altro in situazione reale?

Grazie

risposta

25

Usa FacesContext#renderResponse() se si vuole andare avanti per la fase di render response al momento. Lo si vede spesso in combinazione con gli hack di listener del cambiamento di valore che vengono eseguiti in fase di convalida e devono ignorare i valori del modello di aggiornamento e richiamare le fasi di azione.

Utilizzare FacesContext#responseComplete() per segnalare a JSF che si è già gestita la risposta da soli e che JSF non ha quindi bisogno di eseguire il rendering della risposta. Lo si vede spesso in combinazione con i metodi di azione backing bean che scrivono un download di file nella risposta. Ciò assicurerà che JSF non aggiunga il download del file con il contenuto dell'HTML reso che potrebbe finire in download corrotto o un'eccezione di stato illegale.