我在Richfaces中使用JSF,任何消息都会在控制台中显示错误,并生成两条重复的消息。
我有这个XHTML:
<h:form>
<h:panelGrid columns="3">
<h:outputLabel value="Proyecto" />
<h:selectOneMenu id="cbo_proyecto" value="#{planMaestro.idProyecto}" required="true" requiredMessage="Debe seleccionar un proyecto.">
<f:selectItem itemValue="0" itemLabel="Seleccione" itemDisabled="true"/>
<f:selectItems value="#{planMaestro.listaProyectos}" var="p"
itemValue="#{p.idProyecto}" itemLabel="#{p.nombre}" />
</h:selectOneMenu>
<h:commandButton value="Seleccionar" action="#{planMaestro.mostrarCampos()}"/>
</h:panelGrid>
</h:form>
我在控制台中获得这个:
18:57:14,217 INFORMACIÓN [javax.enterprise.resource.webcontainer.jsf.renderkit] (http-localhost-127.0.0.1-8080-5) ADVERTENCIA: FacesMessage(s) se han puesto en la cola, pero es posible que no se muestren.
sourceId=j_idt42:cbo_proyecto[severity=(ERROR 2), summary=(Debe seleccionar un proyecto.), detail=(Debe seleccionar un proyecto.)]
18:57:14,235 INFORMACIÓN [javax.enterprise.resource.webcontainer.jsf.renderkit] (http-localhost-127.0.0.1-8080-5) ADVERTENCIA: FacesMessage(s) se han puesto en la cola, pero es posible que no se muestren.
sourceId=j_idt42:cbo_proyecto[severity=(ERROR 2), summary=(Debe seleccionar un proyecto.), detail=(Debe seleccionar un proyecto.)]
如果我使用h:message
或h:messages
,即使控制台中显示了错误,我也不会有任何问题,但我使用的是:
<rich:notifyMessages stayTime="4000" nonblocking="true" showDetail="true" showSummary="false"/>
并且它显示了两个重复的消息而不是一个。
<rich:notifyMessages>
标记显示所有可用消息,在本例中同时显示本地和全局消息。为了避免双重消息,您可以设置globalOnly
属性ture
。
请注意,本地消息还有另一个标签<rich:notifyMessage>
。