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

时间:2015-10-23 00:47:21

标签: jsf dynamic primefaces

我需要根据严重程度更改<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");

但是,我想在咆哮声中自定义文字颜色。

3 个答案:

答案 0 :(得分:2)

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

.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发布的链接:

PrimeFaces growl change color dynamically

答案 1 :(得分:2)

如果您一次添加多条消息,则上述解决方案将无效! (它将根据最后一条消息的严重性级别进行背景颜色处理)

您可以通过以下链接找到相关解决方案

PrimeFaces growl change color dynamically (Multiple messages)

希望这有帮助。

答案 2 :(得分:1)

你可以解决以下链接

PrimeFaces growl change color dynamically