Nella lezione di oggi presentiamo le ultime due fasi del ciclo di vita di una richiesta
JSF. Nella fase di
Invoke Application viene gestito ogni evento sia di tipo
action che di tipo
valuechange.
Se bisogna redirezionare il flusso dell’applicazione verso una risorsa, che non ha componenti
JSF, viene invocato il metodo
responseComplete() del
FacesContext. Se la
view è stata recuperata da una richiesta precedente e su un componente viene sollevato un evento, questo viene smistato verso il suo
listener.
L'ultima fase del ciclo di vita consiste nella
Render Response, durante la quale l’implementazione
JSF delega il compito della visualizzazione (rendering) della risposta al
JSP Container, ovviamente nel caso in cui si utilizzino delle pagine
JSP.
Se si tratta di una
initial request, i componenti della pagina vengono aggiunti alla
view, mentre nel caso di un
postback essi sono già presenti. In entrambi i casi, i componenti eseguono il proprio rendering sulla base dei tag che li rappresentano nella pagina
JSP.
Nel caso di un
postback, se nelle fasi precedenti si è verificato qualche errore, viene visualizzata comunque la pagina e i relativi errori, visualizzabili tramite i tag
< h:message > oppure
< h:messages >. Una volta visualizzata la pagina, viene salvato lo stato della
response, ossia lo stato dei componenti, sul client oppure sul server, in modo che per un’eventuale successiva
request potrà essere eseguita la fase di
Restore View.
Con questa chiudiamo la serie di 3 lezioni dedicate al ciclo di vita di una richiesta
JSF. Dalla prossima lezione cominceremo a trattare gli aspetti salienti del
framework e le potenzialità messe a disposizione degli sviluppatori.