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 |
---|---|
String |
getMessage(MessageSourceResolvable resolvable,
Locale locale)
Try to resolve the message using all the attributes contained within the
MessageSourceResolvable argument that was passed in. |
String |
getMessage(String code,
Object[] args,
Locale locale)
Try to resolve the message.
|
String |
getMessage(String code,
Object[] args,
String defaultMessage,
Locale locale)
Try to resolve the message.
|
@Nullable String getMessage(String code, @Nullable Object[] args, @Nullable String defaultMessage, 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
String getMessage(String code, @Nullable Object[] args, 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
String getMessage(MessageSourceResolvable resolvable, 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