Render a single message for a specific component.
Set-up for Rendering
Obtain the "summary" and "detail" properties from
UIMessage
component. If not present, keep the
empty string as the value, respectively. Obtain the first
FacesMessage
to render from the component, using
the "for" property of the UIMessage
. This will be
the only message we render. Obtain the severity style for this
message. If the severity of the message is
FacesMessage.SEVERITY_INFO
, the severity style
comes from the value of the "infoStyle" attribute. If the
severity of the message is
FacesMessage.SEVERITY_WARN
, the severity style
comes from the value of the "warnStyle" attribute, and so on for
each of the severities, INFO, WARN, ERROR
and
FATAL
. The same rules apply for obtaining the
severity style class, but instead of "infoStyle, warnStyle", etc
use "infoClass, warnClass", etc. Obtain the "style",
"styleClass" and "layout" attributes from the
UIMessage
component. If we have a "style"
attribute and a severity style attribute, use the severity style
attribute as the value of the "style" attribute. If we have no
"style" attribute, but do have a severity style, use the
severity style as the value of the "style" attribute. The same
precedence rules apply for the style class. Obtain the value of
the dir
and lang
attributes.
Rendering
For the message renderer, we only render one row, for the first
message. For the messages renderer, we render as many rows as we
have messages. If any of the "dir", "lang", "style" or
"styleClass" attributes has a non-null value (as determined
above), render a "span" element, outputting the value of the
"style" attribute as the the value of the "style" attribute, and
outputting the value of the "styleClass" attribute as the value of
the "class" attribute on the "span" element. Output the "dir" and
"lang" attributes as well, if they are present. If the
UIMessage
has a "tooltip" attribute with the value of
"true", and we haven't already written out the "span" and the "title" attribute for
the "span", output the "detail" as the value of the "title" attribute on the
"span". If we haven't already written out a "title" attribute, and there is
no detail, output the "summary" as the value of the "title" attribute.
Close out the span if necessary.
This renderer is responsible for rendering its children.
Attributes with a ignored-by-renderer
value of
true
are not interpreted by the renderer and are conveyed
straight to the rendered markup, without checking for validity. Attributes with a
ignored-by-renderer
value of false
are interpreted
by the renderer, and may or may not be checked for validity by the renderer.
Attributes | |||||
attribute-name | ignored-by-renderer | attribute-class | description | default-value | |
---|---|---|---|---|---|
dir
|
true | java.lang.String |
Direction indication for text that does not inherit directionality. Valid values are "LTR" (left-to-right) and "RTL" (right-to-left). These attributes are case sensitive when rendering to XHTML, so care must be taken to have the correct case. | undefined | |
errorClass
|
false | java.lang.String |
CSS style class to apply to any message with a severity class of "ERROR". | undefined | |
errorStyle
|
false | java.lang.String |
CSS style(s) to apply to any message with a severity class of "ERROR". | undefined | |
fatalClass
|
false | java.lang.String |
CSS style class to apply to any message with a severity class of "FATAL". | undefined | |
fatalStyle
|
false | java.lang.String |
CSS style(s) to apply to any message with a severity class of "FATAL". | undefined | |
infoClass
|
false | java.lang.String |
CSS style class to apply to any message with a severity class of "INFO". | undefined | |
infoStyle
|
false | java.lang.String |
CSS style(s) to apply to any message with a severity class of "INFO". | undefined | |
lang
|
true | java.lang.String |
Code describing the language used in the generated markup for this component. | undefined | |
role
|
true | java.lang.String |
Per the WAI-ARIA spec and its relationship to HTML5 (Section title ARIA Role Attriubute), every HTML element may have a "role" attribute whose value must be passed through unmodified on the element on which it is declared in the final rendered markup. The attribute, if specified, must have a value that is a string literal that is, or an EL Expression that evaluates to, a set of space-separated tokens representing the various WAI-ARIA roles that the element belongs to. It is the page author's responsibility to ensure that the user agent is capable of correctly interpreting the value of this attribute. |
undefined | |
style
|
true | java.lang.String |
CSS style(s) to be applied when this component is rendered. | undefined | |
styleClass
|
false | java.lang.String |
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. | undefined | |
title
|
true | java.lang.String |
Advisory title information about markup elements generated for this component. | undefined | |
tooltip
|
false | boolean |
Flag indicating whether the detail portion of the message should be displayed as a tooltip. | undefined | |
warnClass
|
false | java.lang.String |
CSS style class to apply to any message with a severity class of "WARN". | undefined | |
warnStyle
|
false | java.lang.String |
CSS style(s) to apply to any message with a severity class of "WARN". | undefined |