我想<p:messages>用来显示错误信息,用于<p:growl>显示成功信息.在支持bean中:
FacesContext context = FacesContext.getCurrentInstance();
context.addMessage(null, new FacesMessage(title, msg));
Run Code Online (Sandbox Code Playgroud)
但是我发现不管我的支持bean添加消息,<p:messages>并且<p:growl>都显示它.
任何建议.
Mr.*_*mes 12
在PrimeFaces的growl的演示页面中,他们提到:" Growl只是替换了h:messages组件. " 我担心您可能无法实现目标,因为growl还会在View中显示所有FacesMessage.
但是,如果您反转您的要求 - 使用<p:growl>&显示成功消息显示错误<p:message>,您实际上可以实现如下:
<p:message id="successMsg" for="successMsg" />
@ManagedBean
@RequestScoped
public class MrBean {
public void doSomething() {
FacesContext context = FacesContext.getCurrentInstance();
if (failed) {
context.addMessage(null, new FacesMessage("Failed", "Sry boss! I have failed."));
} else {
context.addMessage("successMsg", new FacesMessage("Successful", "Hey boss! I did it!"));
}
}
}
Run Code Online (Sandbox Code Playgroud)
Stu*_*ent 10
看起来像PrimeFaces 3.3你可以做你想做的事:
http://blog.primefaces.org/?p=1894
你现在可以这样做:
<p:messages severity="error" />
<p:growl severity="info, warn" />
Run Code Online (Sandbox Code Playgroud)
同
context.addMessage("somekey", new FacesMessage(FacesMessage.SEVERITY_ERROR,"Error Title", "Error Message"));
context.addMessage("somekey", new FacesMessage(FacesMessage.SEVERITY_INFO,"Success Title", "Success Message"));
Run Code Online (Sandbox Code Playgroud)
Zak*_*zza 10
JSF:
<p:messages for="somekey" />
<p:growl for="anotherkey" />
Run Code Online (Sandbox Code Playgroud)
豆:
context.addMessage("somekey", new FacesMessage(FacesMessage.SEVERITY_INFO,"Sample info message", "PrimeFaces Rocks"));
context.addMessage("somekey", new FacesMessage(FacesMessage.SEVERITY_INFO,"Sample info message", "Always bet on Prime"));a
context.addMessage("anotherkey", new FacesMessage(FacesMessage.SEVERITY_INFO,"Sample info message", "PrimeFaces is developed by Chuck Norris"));
Run Code Online (Sandbox Code Playgroud)
这对我很好!