gpt4 book ai didi

primefaces - 如何禁用 p :growl in Primefaces?

转载 作者:行者123 更新时间:2023-12-03 23:06:39 26 4
gpt4 key购买 nike

我已将组件添加到我的 xhtml 中,以捕获 p:calendar 组件上的 dateSelect 事件。它还使用我的自定义验证器,如果日期范围错误,它会抛出异常。我想在 p:message 中显示错误消息,但它在 p:message 和 growl 中都显示。如何禁止在咆哮中显示此消息?

我尝试了不同的东西。我试图以某种方式禁用 p:growl 组件,但没有结果。

这是我的带有 ajax 的日历组件:

                    <p:calendar id="dbstartdate" tabindex="3"
styleClass="calrequested" style="width:99px;"
showButtonPanel="true">

<p:ajax event="dateSelect"
listener="#{MyBean.saveDateRange}"
update=":dashboard_frameset"/>
</p:calendar>

我试过,例如像这样:

<p:growl for="dbstartdate" rendered="false"/>

对于 p:ajax 也是如此(我在那里添加了 id)。

很遗憾,没有成功。你们中有人知道如何禁用 p:ajax 的咆哮吗?提前致谢!

最佳答案

要解决这个问题,据我所知,您有两种选择;

只允许全局消息在p:growl

第一个选项是做 <p:growl globalOnly="true"/> .这将使 PrimeFaces 咆哮进入一种模式,它只监听没有特定客户端 ID 的 AJAX 事件和消息。使用此方法,添加 for=id到一个组件/请求将导致它只显示在目标中(例如在 p:message 中而不是在咆哮中。

<p:calendar id="calendar">
<p:ajax global="false" event="dateSelect" />
</p:calendar>

<p:message for="calendar" />
<p:growl globalOnly="true" />

明确使用<p:growl for="id"/>

第二条路线是让 growl 只听取具有特定 client-id 的消息。这看起来像这样;

<p:calendar id="calendar">
<p:ajax event="dateSelect" />
</p:calendar>

<p:message for="calendar" />
<p:growl for="someotherId" />

根据您的设计目标,您会选择其中一个作为主要解决方案。第二种解决方案将过滤并忽略没有任何目的地的面孔消息,因为没有组件可以接收它们。这可能是合意的,也可能不是合意的。

关于primefaces - 如何禁用 p :growl in Primefaces?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54219352/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com