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 the UIMessage
has "showSummary" and
"showDetail" properties with the value "true", if we haven't
already written out the "span", output the "summary" as the value
of the "title" attribute on the "span". If we haven't already
written out a "title" attribute, and "showSummary" is true, output
the summary. If "showDetail" is true, output the detail. Close
out the span if necessary.
This renderer is responsible for rendering its children.
Attributes with a pass-through
value of
true
are not interpreted by the renderer and are passed
straight through to the rendered markup, without checking for validity. Attributes with a
pass-through
value of false
are interpreted
by the renderer, and may or may not be checked for validity by the renderer.
Attributes | |||||
attribute-name | pass-through | 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). | 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 | |
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 |