要捕获发送给p:growl的所有消息,你可以使用PrimeFaces提供的Ajax事件处理功能来监听和处理p:growl的消息。
以下是一个使用PrimeFaces 10版本的示例代码:
import javax.faces.application.FacesMessage;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.ViewScoped;
import javax.faces.context.FacesContext;
import org.primefaces.PrimeFaces;
@ManagedBean
@ViewScoped
public class GrowlBean {
    public void showMessage() {
        FacesMessage message = new FacesMessage(FacesMessage.SEVERITY_INFO, "Info Message", "This is an info message.");
        FacesContext.getCurrentInstance().addMessage(null, message);
        
        PrimeFaces.current().ajax().update("growl"); // 更新p:growl组件
    }
}
     
     
 
在上面的示例中,showMessage()方法会向FacesContext添加一条消息,并使用PrimeFaces.current().ajax().update("growl")来更新p:growl组件。
通过在p:commandButton组件的update属性中指定"growl",可以在按钮点击后更新p:growl组件。
这样,当你点击按钮时,p:growl会显示一条消息。你可以根据实际需求在showMessage()方法中添加更多的消息。
希望这可以帮助到你!