Differenza tra restituire null e “” da un’azione JSF

Da quanto ho capito, quando un’azione JSF restituisce "" (stringa vuota), l’utente rimane nella pagina corrente ma la vista viene aggiornata. Tuttavia, quando l’azione restituisce null l’utente rimane nella pagina corrente ma la vecchia visualizzazione viene riutilizzata. La mia domanda è:

  1. L’affermazione sopra è corretta (accurata)?
  2. Se sì, quali sono le implicazioni di questo? In particolare, quale effetto ha l’una rispetto all’altra sui dati della pagina (valori nei componenti dell’interfaccia utente JSF o dati memorizzati in un bean scope di ambito in un DataTable, ad esempio)?
  3. In quali situazioni si dovrebbe usare l’una sull’altra?

L’affermazione sopra è corretta (accurata)?

Sì. Invece di restituire null puoi anche solo restituire void .


Se sì, quali sono le implicazioni di questo? In particolare, quale effetto ha l’una rispetto all’altra sui dati della pagina (valori nei componenti dell’interfaccia utente JSF o dati memorizzati in un bean scope di ambito in un DataTable, ad esempio)?

Nulla su richiesta scope scope. Ha effetto solo sui bean con scope vista JSF2. Al ritorno null o void , l’istanza del bean con scope vista verrà mantenuta nella richiesta successiva, altrimenti verrà ricreata.


In quali situazioni si dovrebbe usare l’una sull’altra?

Se si desidera mantenere il bean con ambito vista JSF2 nella richiesta successiva.

Guarda anche:

  • Comunicazione in JSF 2.0 – Ambiti di bean gestiti