如何根据严重程度更改 p:growl 上的文本颜色?

How to change text color on p:growl according to severity?

我需要根据严重程度更改 <p:growl> 上的文本颜色,知道吗?

我在这个方法中添加了一个编程咆哮:

public void addMessageGrowl(Severity typeMessage, String detailMessage) {
     FacesContext.getCurrentInstance().addMessage(null, new FacesMessage(typeMessage, "", detailMessage));
}

调用此方法后:

addMessageGrowl(FacesMessage.SEVERITY_FATAL, "Ocurrió un error al ejecutar la operacion");

但是,我想自定义咆哮的文字颜色。

你可以在下面解决这个问题link

PrimeFaces growl change color dynamically

如果您只想更改文本颜色,可以使用 CSS 同级选择器本机执行此操作:

.ui-growl-image-info ~ .ui-growl-message {
    color:#0f0;
}
.ui-growl-image-error ~ .ui-growl-message {
    color:#f00;
}
.ui-growl-image-warn~ .ui-growl-message {
    color:#00f;
}
.ui-growl-image-fatal~ .ui-growl-message {
    color:#000;
}

如果您想将背景更改为,您需要根据@ÖmerFarukKurt 发布的 link 中的内容:

PrimeFaces growl change color dynamically

如果一次添加多个消息,上述解决方案将不起作用! (它会根据最后一条消息的严重级别简单地设置背景颜色)

您可以按照下面的link找到正确的解决方案

PrimeFaces growl change color dynamically (Multiple messages)

希望对您有所帮助。