Send your remarks, comments or wishes to doc team
Subject:
Message:
Your name:
Your email:

JBoss.org Community Documentation

- Prev
- Next

## 6.68. < rich:messages >

### 6.68.1. Description

The <rich:messages> component is similar to <rich:message> component but used for rendering all messages for the components.

Figure 6.189. <rich:messages> component

### 6.68.2. Key Features

- Highly customizable look and feel

- Track both traditional and Ajax based requests

- Optional ToolTip to display a detailed part of the messages

- Additionally customizable via attributes and facets

- Additionally provides of three parts to be optionally defined: marker, label and header

Table 6.348. rich : messages attributes

Attribute Name | Description
--- | ---
ajaxRendered | Define, must be (or not) content of this component will be included in AJAX response created by parent AJAX Container, even if not forced by reRender list of ajax action. Ignored if component marked to output by some Ajax action component.
binding | The attribute takes a value-binding expression for a component property of a backing bean
errorClass | CSS style class to apply to any message with a severity class of "ERROR"
errorLabelClass | CSS style class to apply to any message label with a severity class of "ERROR"
errorMarkerClass | CSS style class to apply to any message marker with a severity class of "ERROR"
fatalClass | CSS style class to apply to any message with a severity class of "FATAL"
fatalLabelClass | CSS style class to apply to any message label with a severity class of "FATAL"
fatalMarkerClass | CSS style class to apply to any message marker with a severity class of "FATAL"
for | Client identifier of the component for which to display messages
globalOnly | Flag indicating that only global messages (that is, messages not associated with any client identifier) are to be displayed. Default value is "false"
id | Every component may have a unique id that is automatically created if omitted
infoClass | CSS style class to apply to any message with a severity class of "INFO"
infoLabelClass | CSS style class to apply to any message label with a severity class of "INFO"
infoMarkerClass | CSS style class to apply to any message marker with a severity class of "INFO"
labelClass | CSS style class to apply to label
layout | The type of layout markup to use when rendering error messages. Possible values are "table" (an HTML table), "list" (an HTML list) and iterator. If not specified, the default value is "list".
level | A comma-separated list of messages categories which should be displayed. Default value is "ALL".
markerClass | CSS style class to apply to marker
markerStyle | CSS style(s) is/are to be applied to marker when this component is rendered
passedLabel | Attribute should define the label to be displayed when no message appears
rendered | If "false", this component is not rendered
showDetail | Flag indicating whether the detailed information of displayed messages should be included. Default value is "false"
showSummary | Flag indicating whether the summary portion of displayed messages should be included. Default value is "true"
style | The CSS style for message
styleClass | Space-separated list of CSS style class(es) to be applied when this element is rendered. This value must be passed through as the "class" attribute on generated markup
title | Advisory title information about markup elements generated for this component
tooltip | Flag indicating whether the detail portion of the message should be displayed as a tooltip. Default value is "false".
warnClass | CSS style class to apply to any message with a severity class of "WARN"
warnLabelClass | CSS style class to apply to any message label with a severity class of "WARN"
warnMarkerClass | CSS style class to apply any message marker with a severity class of "WARN"

Table 6.349. Component identification parameters

Name | Value
--- | ---
component-type | org.richfaces.component.RichMessages
component-class | org.richfaces.component.html.HtmlRichMessages
component-family | org.richfaces.component.RichMessages
renderer-type | org.richfaces.renderkit.html.HtmlRichMessagesRendere
tag-class | org.richfaces.taglib.RichMessagesTag

### 6.68.3. Creating the Component with a Page Tag

To create the simplest variant of message on a page, use the following syntax:

Example:

    ...

        <rich:messages/>

    ...

### 6.68.4. Creating the Component Dynamically Using Java

Example:

    import  org.richfaces.component.html.HtmlRichMessages;

    ...

    HtmlRichMessages myMessages = new HtmlRichMessages();

    ...

### 6.68.5. Details of Usage

The <rich:messages> component is considered as JSF HTML <h:message> , extended with following features:

- Ajax support (the component does not require to be wrapped in <a4j:outputPanel> in order to be rendered during Ajax requests);

- possibilty to add graphical markers (pictograms) to reinforce a message for both "passed" or "failed" states;

- set of predefined CSS classes for customizing messages appearance.

There are two optional parts that could be defined for every message: marker and text label. The set of facets, which can be used for a marker definition, is shown below:

Table 6.350. Facets

Facet | Description
--- | ---
errorMarker | Defines marker for "Error" message severity class
fatalError | Defines marker for "Fatal" message severity class
infoError | Defines marker for "Info" message severity class
warnError | Defines marker for "Warn" message severity class
passedError | Defines marker if there is no message

The following example shows different variants of customization of the component.

Example:

    <rich:messages layout="table" tooltip="true" showDetail="false" showSummary="true" passedLabel="No Errors">

          <f:facet name="errorMarker">

                <h:graphicImage url="/image/error.png"/>

          </f:facet>

          <f:facet name="infoMarker">

                <h:graphicImage url="/image/info.png"/>

          </f:facet>

          <f:facet name="passedMarker">

                <h:graphicImage url="/image/passed.png"/>

          </f:facet>

    </rich:messages>

The <rich:messages> component keeps all messages for all components even after only one ajax-validated component was updated.

### 6.68.6. Look-and-Feel Customization

For skinnability implementation, the components use a style class redefinition method.

There are no skin parameters and default predefined values. To redefine the appearance of all <rich:messages> components at once, you should only add to your style sheets style classes used by a <rich:messages> component.

### 6.68.7. Definition of Custom Style Classes

On the screenshot there are classes names that define styles for component elements.

Figure 6.190. Classes names

Table 6.351. Classes names that define a component appearance

Class name | Description
--- | ---
rich-messages | Defines styles for a wrapper element
rich-messages-marker | Defines styles for a marker
rich-messages-label | Defines styles for a label

In order to redefine styles for all <rich:messages> components on a page using CSS, it's enough to create classes with the same names (possible classes could be found in the tables above) and define necessary properties in them.

Example:

    ...

    .rich-messages-label{

        font-style:italic;

    }

    ...

This is a result:

Figure 6.191. Redefinition styles with predefined classes

In the example the font style for messages was changed.

Also it's possible to change styles of particular <rich:messages> component. In this case you should create own style classes and use them in corresponding <rich:messages> styleClass attributes. An example is placed below:

Example:

    ...

    .myClass{

        color:red;

    }

    ...

The "errorClass" attribute for <rich:messages> is defined as it's shown in the example below:

Example:

    <rich:messages ... errorClass="myClass"/>

This is a result:

Figure 6.192. Redefinition styles with own classes and styleClass attributes

As it could be seen on the picture above, color of messages was changed.

### 6.68.8. Relevant Resources Links

Here you can see the example of <rich:messages> usage and sources for the given example.

- Prev6.67. < rich:message >
- Top of page
- Front page
- Next6.69. < rich:modalPanel >