JSF 1.2: Come mantenere vivo il bean con scope scope gestito attraverso i postback sulla stessa vista?

È ansible mantenere in vita una richiesta di scope scope attraverso i postback sulla stessa pagina?

Il problema generale è che, dato che il bean viene scaricato alla fine della richiesta e ricreato su ogni form submit, ad esempio i booleani dietro disabled dynamicmente disabled , readonly e rendered vengono ripristinati ai loro valori predefiniti e fanno sì che i moduli non funzionino più come intenzionati.

Suppongo che l’ambito della sessione non sia un’opzione, altrimenti questa domanda ha poco senso.

Puoi farlo usando Tomahawk . Aggiungi la seguente riga da qualche parte alla pagina:

  

RichFaces fa anche lo stesso:

  

O se c’è spazio, aggiornare almeno a JSF 2.x e mettere il bean in vista scope:

 @ManagedBean @ViewScoped public class Bean implements Serializable { // ... } 

Indipendentemente dal modo in cui, lo stesso bean sarà presente quando si effettua il postback alla stessa vista e si continua a restituire il valore null o void dai metodi di azione.

Guarda anche:

  • Come scegliere l’ambito del bean giusto?
  • Differenza tra l’ambito View e Request nei bean gestiti

Non proprio, a meno che non memorizzi il bean da qualche parte, ad esempio una mappa nello scope dell’applicazione, per recuperarlo in seguito.

Perché non farlo solo in ambito Session? Questo è lo scopo dell’ambito Session, quindi più Richieste durante la stessa Sessione possono raggiungere lo stesso stato.