Bonjour,
J'ai un petit soucis dans l'affichage de mes messages, qui ne fonctionne pas dans les requêtes http (mais bien en ajax).
J'utilise le code suivant en entête de mes pages :
	
	| 12
 3
 
 | <h:form id="messages">
     <rich:messages errorClass="error" warnClass="warn" infoClass="info" globalOnly="true"/>
</h:form> | 
 Je remplis mes messages en utilisant le code suivant :
	
	| 12
 3
 4
 5
 6
 
 | public static void notice(String message){
     getFacesContext().addMessage(null, new FacesMessage(FacesMessage.SEVERITY_INFO,message,null));
}
public static void error(String message){
     getFacesContext().addMessage(null, new FacesMessage(FacesMessage.SEVERITY_ERROR,message,null));
} | 
 Lorsque je lie cet appel à une action ajax, tout fonctionne à merveille :
	
	<a4j:commandButton value="delete" actionListener="#{userListFace.deleteAction}" reRender="UserList"/>
 
	
	| 12
 3
 4
 5
 6
 7
 8
 
 | public void deleteAction(ActionEvent event){
    try{
        userManager.delete(getUserListItem());
        FacesUtil.notice("Success");
    } catch(DataIntegrityViolationException e){
        FacesUtil.error(e.getMessage());
    }
} | 
 Mais lorsque je l'utilise via une action HTML, je ne vois aucun message sur la page :
	
	<a4j:commandButton value="save" action="#{userFace.saveAction}" />
 
	
	| 12
 3
 4
 5
 
 | public String saveAction(){
    userManager.save(user);
    FacesUtil.notice("Modifications enregistrées");
    return "save";
} | 
 
	
	| 12
 3
 4
 5
 6
 7
 8
 9
 
 | <navigation-rule>
     <from-view-id>/pages/user.jspx</from-view-id>
     <navigation-case>
        <from-outcome>save</from-outcome>
        <to-view-id>/pages/user.jspx</to-view-id>
        <redirect/>
     </navigation-case>
    ...
</navigation-rule> | 
 Quelqu'un aurait-il une idée de ce qui cloche, et de comment je pourrais faire alors passer mon message d'une page à l'autre?
						
					
Partager