MessageFactory

Existe una clase de org.primefaces.util.MessageFactory, que nos permite el manejo del recurso de mensajes configurado en faces-config.xml .

<message-bundle>messages.GeneralMessages</message-bundle>

Esta clase MessageFactory implementa el método:

FacesMessage getMessage(String messageId, FacesMessage.Severity severity, Object[] params)

El cual podemos usar para invocar cualquier mensaje existente en nuestro archivo de recursos de mensajes.

Un ejemplo sería:

MessageFactory.getMessage(“info.selected.company”, FacesMessage.SEVERITY_INFO, new Object[]{((EmpresaCMP) event.getObject()).getNombre()});

Dónde:

info.selected.company es el id de la propiedad que existe en el archivo de recursos de mensajes.

FacesMessage.SEVERITY_INFO es el tipo de severidad del mensaje a enviar (Existen 4 tipos:FacesMessage.SEVERITY_INFO: informativo; FacesMessage.SEVERITY_WARN: advertencia; FacesMessage.SEVERITY_ERROR: error; y FacesMessage.SEVERITY_FATAL:severo).

new Object[]{((EmpresaCMP) event.getObject()).getNombre()}

Es un arreglo de objetos -regularmente String-, que usamos para concatenar en los mensajes ya definidos en nuestro archivo de recursos de mensajes.

En el ejemplo se enviael nombre de una empresa seleccionada.

Y en el archivo de recursos de mensaje existe el id info.selected.company, el cual se muestra a continuación:

info.selected.company=Se seleccionó para trabajar la empresa: {0}

Entonces el nombre de la compañia se concatena en logar de {0}, el cero representa la poisición 0 dentro del arreglo de objetos de parámetros enviados a través del MessageFactory.

El MessageFactory se agrega como mensaje a  FacesContext.getCurrentInstance(), en su método addMessage


All comments of post - "MessageFactory":

:Haha! I'am the first! Yeh~

Thank you!

*

Add a Comment / Trackback url

Comment begin from here or jump up!