h: i messaggi non visualizzano i messaggi quando viene premuto p: commandButton

Ho un problema con il tag h: messages in JSF che semplicemente non mostra alcun messaggio. Nel registro Glassfish non ci sono errori quando faccio clic sul pulsante. La configurazione è la seguente:

test.xhtml:

  test      

Con The SessionScopedBean:

 @ManagedBean @SessionScoped public class LoginSessionBean implements Serializable { private static final long serialVersionUID = 1L; ... public String test(){ FacesContext fc = FacesContext.getCurrentInstance(); fc.addMessage(null, new FacesMessage(FacesMessage.SEVERITY_WARN, "Test!", null)); return ""; } 

    Stai inviando una richiesta Ajax con PrimeFaces . Le richieste Ajax hanno per impostazione predefinita nessuna forma di feedback (a meno che autoUpdate="true" PrimeFaces sia stato utilizzato da qualche parte). Dovresti specificare in modo esplicito parti della vista che desideri aggiornare sulla risposta ajax.

    Un modo è specificare l’attributo di update su per puntare all’ID client del componente .

         

    Un altro modo è di sostituirlo con PrimeFaces che ha un attributo autoUpdate ai fini dell’aggiornamento automatico sulla risposta ajax.

         

    Un’alternativa completamente diversa è quella di distriggersre ajax aggiungendo ajax="false" attributo ajax="false" al pulsante, in questo modo verrà eseguito un postback sincrono che produce effettivamente un aggiornamento completo della pagina, esattamente come il JSF standard si comporta quando usato senza .

         

    Guarda anche:

    • Comprensione processo / aggiornamento e JSF f: ajax esegue / rende attributi