## `spring:message`

### org.springframework.web.servlet.tags.MessageTag

`spring:message (since 1.0)`
General information

The `spring:message` tag provides you with internationalization support using Spring's `MessageSource` concept. The MessageSource is an interface providing functionality for retrieving messages. It closely resembles JSTL's `fmt:message`-tag, however, the MessageSource classes can be integrated with the Spring context. Also, the `spring:message`- tag, works with the locale support that comes with Spring.

Regards an HTML escaping setting, either on this tag instance, the page level, or the web.xml level. Can also apply JavaScript escaping.

If "code" isn't set or cannot be resolved, "text" will be used as default message. Thus, this tag can also be used for HTML escaping of any texts.

Attributes
code
The code (key) to use when looking up the message. If code is not provided, the text attribute will be used.
required: no
el-support: yes
arguments
Set optional message arguments for this tag, as a comma-delimited String (each String argument can contain JSP EL), an Object array (used as argument array), or a single Object (used as single argument).
required: no
el-support: yes
text
Default text to output when a message for the given code could not be found. If both text and code are not set, the tag will output `null`
required: no
el-support: yes
var
The string to use when binding the result to the page, request, session or application scope. If not specified, the result gets outputted to the writer (directly to the JSP i.e.).
required: no
el-support: yes
scope
The scope to use when exporting the result to a variable. This attribute is only used when `var` is also set. Possible values are `page`, `request`, `session` and `application`.
required: no
el-support: yes
htmlEscape
Set HTML escaping for this tag, as boolean value. Overrides the default HTML escaping setting for the current page.
required: no
el-support: yes
message

A MessageSourceResolvable argument (direct or through JSP EL).

Fits nicely when used in conjunction with Spring's own validation error classes which all implement the MessageSourceResolvable interface. For example, this allows you to iterate over all of the errors in a form, passing each error (using a runtime expression) as the value of this 'message' attribute, thus effecting the easy display of such error messages.

For example:

    <c:forEach items="${errors.allErrors}" var="err">
    	<spring:message message="${err}"/>
    </c:forEach>

required: no
el-support: yes
javaScriptEscape
Set JavaScript escaping for this tag, as boolean value. Default is false.
required: no
el-support: yes
Variables
If the `var` argument is specified, the resolved message will be exported to the scope specified by the `scope` argument.
Also have a look at
the `spring:htmlEscape` tag, which allows you to set the default HTML escape value for the current page
the `ResourceBundleMessageSource` to see how resource bundles can be used in conjunction with the `spring:message`-tag
the `MessageSource` to see how you can implement your own message sources