JSF - Ciclo di vita

Il ciclo di vita dell'applicazione JSF è costituito da sei fasi che sono le seguenti:

  • Ripristina fase di visualizzazione
  • Fase di applicazione dei valori di richiesta; eventi di processo
  • Fase di validazione del processo; eventi di processo
  • Fase di aggiornamento dei valori del modello; eventi di processo
  • Richiamare la fase di richiesta; eventi di processo
  • Fase di risposta del rendering

Le sei fasi mostrano l'ordine in cui JSF elabora un modulo. L'elenco mostra le fasi nel loro probabile ordine di esecuzione con l'elaborazione degli eventi in ciascuna fase.

Fase 1: ripristino della visualizzazione

JSF inizia la fase di visualizzazione del ripristino non appena si fa clic su un collegamento o un pulsante e JSF riceve una richiesta.

Durante questa fase, JSF costruisce la vista, collega gestori di eventi e validatori ai componenti dell'interfaccia utente e salva la vista nell'istanza FacesContext. L'istanza FacesContext conterrà ora tutte le informazioni necessarie per elaborare una richiesta.

Fase 2: applicare i valori della richiesta

Dopo aver creato / ripristinato l'albero dei componenti, ogni componente nell'albero dei componenti utilizza il metodo di decodifica per estrarre il nuovo valore dai parametri della richiesta. Il componente memorizza questo valore. Se la conversione non riesce, viene generato un messaggio di errore che viene accodato su FacesContext. Questo messaggio verrà visualizzato durante la fase di risposta del rendering, insieme a eventuali errori di convalida.

Se uno qualsiasi dei listener di eventi dei metodi di decodifica chiamati renderResponse sull'istanza FacesContext corrente, JSF passa alla fase di risposta del rendering.

Fase 3: convalida del processo

Durante questa fase, JSF elabora tutti i validatori registrati nell'albero dei componenti. Esamina le regole degli attributi del componente per la convalida e confronta queste regole con il valore locale memorizzato per il componente.

Se il valore locale non è valido, JSF aggiunge un messaggio di errore all'istanza FacesContext e il ciclo di vita avanza alla fase di risposta del rendering e visualizza di nuovo la stessa pagina con il messaggio di errore.

Fase 4: aggiornamento dei valori del modello

Dopo che JSF ha verificato che i dati siano validi, attraversa l'albero dei componenti e imposta le proprietà degli oggetti lato server corrispondenti sui valori locali dei componenti. JSF aggiornerà le proprietà del bean corrispondenti all'attributo value del componente di input.

Se qualsiasi metodo updateModels chiamato renderResponse sull'istanza corrente di FacesContext, JSF passa alla fase di risposta del rendering.

Fase 5: richiamo dell'applicazione

Durante questa fase, JSF gestisce qualsiasi evento a livello di applicazione, come l'invio di un modulo / collegamento a un'altra pagina.

Fase 6: rendering della risposta

Durante questa fase, JSF chiede al contenitore / server delle applicazioni di eseguire il rendering della pagina se l'applicazione utilizza le pagine JSP. Per la richiesta iniziale, i componenti rappresentati sulla pagina verranno aggiunti all'albero dei componenti mentre il contenitore JSP esegue la pagina. Se questa non è una richiesta iniziale, l'albero dei componenti è già costruito, quindi i componenti non devono essere aggiunti di nuovo. In entrambi i casi, i componenti verranno visualizzati automaticamente quando il contenitore JSP / il server delle applicazioni attraversa i tag nella pagina.

Dopo il rendering del contenuto della vista, lo stato della risposta viene salvato in modo che le richieste successive possano accedervi ed è disponibile per la fase di visualizzazione del ripristino.