Problème affichage rich:messages
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 :
Code:
1 2 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 :
Code:
1 2 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 :
Code:
<a4j:commandButton value="delete" actionListener="#{userListFace.deleteAction}" reRender="UserList"/>
Code:
1 2 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 :
Code:
<a4j:commandButton value="save" action="#{userFace.saveAction}" />
Code:
1 2 3 4 5
| public String saveAction(){
userManager.save(user);
FacesUtil.notice("Modifications enregistrées");
return "save";
} |
Code:
1 2 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?