L’aggiornamento / rendering Ajax non funziona su un componente che ha l’attributo reso

Sto cercando di aggiornare un componente condizionato in modo condizionale.

 ...      

Tuttavia, questo non funziona. Posso assicurare che #{user} sia effettivamente disponibile. Come è causato e come posso risolverlo?

Non è ansible ricreare (aggiornare) un componente con ajax se il componente stesso non è reso al primo posto. Il componente deve essere sempre renderizzato prima che ajax possa ri-renderlo. Ajax utilizza JavaScript document.getElementById() per trovare il componente che deve essere aggiornato. Ma se JSF non ha reso il componente al primo posto, JavaScript non può trovare nulla da aggiornare.

La soluzione è semplicemente fare riferimento a un componente padre che è sempre visualizzato.

  ...        

Guarda anche:

  • Perché devo nidificare un componente con rendered = “# {some}” in un altro componente quando voglio aggiornarlo?
  • Come trovare l’ID client del componente per l’aggiornamento / rendering di ajax? Imansible trovare il componente con espressione “foo” a cui si fa riferimento da “bar”