The <o:messages> is a component that extends the standard <h:messages> with the following new features:
for components
Possibility to specify multiple client IDs space separated in the for attribute. The example below would only display messages for
input1 and input3:
<h:form>
<o:messages for="input1 input3" />
<h:inputText id="input1" />
<h:inputText id="input2" />
<h:inputText id="input3" />
<h:inputText id="input4" />
</h:form>
It can even refer non-input components which in turn contains input components. The example below would only display messages for input1 and
input2:
<h:form>
<o:messages for="inputs" />
<h:panelGroup id="inputs">
<h:inputText id="input1" />
<h:inputText id="input2" />
</h:panelGroup>
<h:inputText id="input3" />
<h:inputText id="input4" />
</h:form>
You can even combine them. The example below would only display messages for input1, input2 and input4.
<h:form>
<o:messages for="inputs input4" />
<h:panelGroup id="inputs">
<h:inputText id="input1" />
<h:inputText id="input2" />
</h:panelGroup>
<h:inputText id="input3" />
<h:inputText id="input4" />
</h:form>
Show a single custom message whenever the component has received any faces message. This is particularly useful when you want to display a global message in
case any of the in for specified components has a faces message. For example:
<o:messages for="form" message="There are validation errors. Please fix them." />
<h:form id="form">
<h:inputText id="input1" /><h:message for="input1" />
<h:inputText id="input2" /><h:message for="input2" />
<h:inputText id="input3" /><h:message for="input3" />
</h:form>
Control HTML escaping by the escape attribute.
<o:messages escape="false" />
Beware of potential XSS attack holes when user-controlled input is redisplayed through messages!
Control iteration markup fully by the var attribute which sets the current FacesMessage in the request scope and disables the default
table/list rendering. For example,
<dl>
<o:messages var="message">
<dt>#{message.severity}</dt>
<dd title="#{message.detail}">#{message.summary}</dd>
</o:messages>
</dl>
Note: the iteration is by design completely stateless. It's therefore not recommended to nest form components inside the <o:messages>
component. It should be used for pure output only, like as the standard <h:messages>. Plain output links are however no problem. Also note
that the message and escape attributes have in this case no effect. With a single message, there's no point of iteration. As to
escaping, just use <h:outputText escape="false"> the usual way.
The component class is named OmniMessages instead of Messages to avoid confusion with the Messages utility class.
| Info | Value |
|---|---|
| Component Type | org.omnifaces.component.messages.OmniMessages |
| Handler Class | None |
| Renderer Type | org.omnifaces.Messages |
| Description | None |
| Name | Required | Type | Description |
|---|---|---|---|
binding | false | jakarta.el.ValueExpression
(must evaluate to jakarta.faces.component.UIComponent)
| The ValueExpression linking this component to a property in a backing bean. |
dir | false | jakarta.el.ValueExpression
(must evaluate to java.lang.String)
| No Description |
errorClass | false | jakarta.el.ValueExpression
(must evaluate to java.lang.String)
| No Description |
errorStyle | false | jakarta.el.ValueExpression
(must evaluate to java.lang.String)
| No Description |
escape | false | jakarta.el.ValueExpression
(must evaluate to boolean)
| Whether the message detail and summary should be HTML-escaped. Defaults to true. |
fatalClass | false | jakarta.el.ValueExpression
(must evaluate to java.lang.String)
| No Description |
fatalStyle | false | jakarta.el.ValueExpression
(must evaluate to java.lang.String)
| No Description |
for | false | jakarta.el.ValueExpression
(must evaluate to java.lang.String)
| No Description |
globalOnly | false | jakarta.el.ValueExpression
(must evaluate to boolean)
| No Description |
id | false | jakarta.el.ValueExpression
(must evaluate to java.lang.String)
| The component identifier for this component. This value must be unique within the closest parent component that is a naming container. |
infoClass | false | jakarta.el.ValueExpression
(must evaluate to java.lang.String)
| No Description |
infoStyle | false | jakarta.el.ValueExpression
(must evaluate to java.lang.String)
| No Description |
lang | false | jakarta.el.ValueExpression
(must evaluate to java.lang.String)
| No Description |
layout | false | jakarta.el.ValueExpression
(must evaluate to java.lang.String)
| No Description |
message | false | jakarta.el.ValueExpression
(must evaluate to java.lang.String)
| The single INFO message to be shown instead when this component has any faces message. |
redisplay | false | jakarta.el.ValueExpression
(must evaluate to boolean)
| Flag indicating whether already-handled messages should be redisplayed. The default value is true. |
rendered | false | jakarta.el.ValueExpression
(must evaluate to boolean)
| Flag indicating whether or not this component should be rendered (during Render Response Phase), or processed on any subsequent form submit. The default value for this property is true. |
role | false | jakarta.el.ValueExpression
(must evaluate to java.lang.String)
| Per the WAI-ARIA spec and its relationship to HTML5, every HTML element may have a "role" attribute whose value must be passed through unmodified on the element on which it is declared. |
showDetail | false | jakarta.el.ValueExpression
(must evaluate to boolean)
| No Description |
showSummary | false | jakarta.el.ValueExpression
(must evaluate to boolean)
| No Description |
style | false | jakarta.el.ValueExpression
(must evaluate to java.lang.String)
| No Description |
styleClass | false | jakarta.el.ValueExpression
(must evaluate to java.lang.String)
| No Description |
title | false | jakarta.el.ValueExpression
(must evaluate to java.lang.String)
| No Description |
tooltip | false | jakarta.el.ValueExpression
(must evaluate to boolean)
| No Description |
var | false | jakarta.el.ValueExpression
(must evaluate to java.lang.String)
| The name of the request attribute which exposes the current faces message in the request scope. This will trigger rendering of markup per faces message instead of per component. |
warnClass | false | jakarta.el.ValueExpression
(must evaluate to java.lang.String)
| No Description |
warnStyle | false | jakarta.el.ValueExpression
(must evaluate to java.lang.String)
| No Description |
Output generated by Vdldoc View Declaration Language Documentation Generator.