public interface MessageSource
Spring provides two out-of-the-box implementations for production:
ResourceBundleMessageSource
: built
on top of the standard ResourceBundle
, sharing its limitations.
ReloadableResourceBundleMessageSource
:
highly configurable, in particular with respect to reloading message definitions.
ResourceBundleMessageSource
,
ReloadableResourceBundleMessageSource
Modifier and Type | Method and Description |
---|---|
java.lang.String |
getMessage(MessageSourceResolvable resolvable,
java.util.Locale locale)
Try to resolve the message using all the attributes contained within the
MessageSourceResolvable argument that was passed in. |
java.lang.String |
getMessage(java.lang.String code,
java.lang.Object[] args,
java.util.Locale locale)
Try to resolve the message.
|
java.lang.String |
getMessage(java.lang.String code,
java.lang.Object[] args,
java.lang.String defaultMessage,
java.util.Locale locale)
Try to resolve the message.
|
@Nullable java.lang.String getMessage(java.lang.String code, @Nullable java.lang.Object[] args, @Nullable java.lang.String defaultMessage, java.util.Locale locale)
code
- the message code to look up, e.g. 'calculator.noRateSet'.
MessageSource users are encouraged to base message names on qualified class
or package names, avoiding potential conflicts and ensuring maximum clarity.args
- an array of arguments that will be filled in for params within
the message (params look like "{0}", "{1,date}", "{2,time}" within a message),
or null
if nonedefaultMessage
- a default message to return if the lookup failslocale
- the locale in which to do the lookupnull
)getMessage(MessageSourceResolvable, Locale)
,
MessageFormat
java.lang.String getMessage(java.lang.String code, @Nullable java.lang.Object[] args, java.util.Locale locale) throws NoSuchMessageException
code
- the message code to look up, e.g. 'calculator.noRateSet'.
MessageSource users are encouraged to base message names on qualified class
or package names, avoiding potential conflicts and ensuring maximum clarity.args
- an array of arguments that will be filled in for params within
the message (params look like "{0}", "{1,date}", "{2,time}" within a message),
or null
if nonelocale
- the locale in which to do the lookupnull
)NoSuchMessageException
- if no corresponding message was foundgetMessage(MessageSourceResolvable, Locale)
,
MessageFormat
java.lang.String getMessage(MessageSourceResolvable resolvable, java.util.Locale locale) throws NoSuchMessageException
MessageSourceResolvable
argument that was passed in.
NOTE: We must throw a NoSuchMessageException
on this method
since at the time of calling this method we aren't able to determine if the
defaultMessage
property of the resolvable is null
or not.
resolvable
- the value object storing attributes required to resolve a message
(may include a default message)locale
- the locale in which to do the lookupnull
since even a
MessageSourceResolvable
-provided default message needs to be non-null)NoSuchMessageException
- if no corresponding message was found
(and no default message was provided by the MessageSourceResolvable
)MessageSourceResolvable.getCodes()
,
MessageSourceResolvable.getArguments()
,
MessageSourceResolvable.getDefaultMessage()
,
MessageFormat