【问题标题】:How to change text color on p:growl according to severity?如何根据严重程度更改 p:growl 上的文本颜色?
【发布时间】:2015-10-23 00:47:21
【问题描述】:

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

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

【问题讨论】:

    标签: jsf dynamic primefaces


    【解决方案1】:

    如果你只想改变文本颜色,你可以使用 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

    【讨论】:

    • 如果您在上下文中添加多条消息,假设为 2(第一个的严重性信息,第二个的危险)所有咆哮元素将是相同的(由最后一条消息的严重性 -danger 着色我们的例子)。所以上面的解决方法是不正确的!请看我的回答...
    【解决方案2】:

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

    您可以通过以下链接找到正确的解决方案

    PrimeFaces growl change color dynamically (Multiple messages)

    希望这会有所帮助。

    【讨论】:

      【解决方案3】:

      你可以通过下面的链接解决这个问题

      PrimeFaces growl change color dynamically

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2019-07-08
        • 2016-06-02
        • 2017-09-17
        • 2022-10-18
        • 1970-01-01
        • 2021-09-19
        • 2021-06-27
        • 2023-03-26
        相关资源
        最近更新 更多