2014-11-09 2 views
1

Я использую JSF с 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"/> 

и он показывает два повтора d вместо одного.

ответ

0

Тег <rich:notifyMessages> показывает все доступные сообщения, в данном случае как локальные, так и глобальные. Чтобы избежать двойного сообщения, вы можете установить атрибут globalOnlyture.

Обратите внимание, что для местных сообщений есть еще один тег <rich:notifyMessage>.

+0

Если я добавляю globalOnly true, отображается любое сообщение, и если я использую только notifyMessage for = "cbo_proyecto", у меня все еще есть два одинаковых сообщения и те же ошибки в консоли. –

Смежные вопросы