|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object org.apache.struts.util.MessageResources org.apache.struts.util.PropertyMessageResources
public class PropertyMessageResources
Concrete subclass of MessageResources
that reads message keys
and corresponding strings from named property resources in a similar manner
(see modes below) that java.util.PropertyResourceBundle
does. The
base
property defines the base property resource name, and
must be specified.
IMPLEMENTATION NOTE - This class trades memory for speed by caching all messages located via generalizing the Locale under the original locale as well. This results in specific messages being stored in the message cache more than once, but improves response time on subsequent requests for the same locale + key combination.
PropertyResourceBundle
finds messages (fix for
STR-2077)base + "_" + localeLanguage + "_" + localeCountry + "_" + localeVariant base + "_" + localeLanguage + "_" + localeCountry base + "_" + localeLanguage base + "_" + default locale base
This mode is the default and requires no additional configuration.
base + "_" + localeLanguage + "_" + localeCountry + "_" + localeVariant base + "_" + localeLanguage + "_" + localeCountry base + "_" + localeLanguage base
Configure PropertyMessageResources
to operate in this mode by
specifying a value of JSTL
for the mode
key in your struts-config.xml
:
<message-resources parameter="mypackage.MyMessageResources"> <set-property key="mode" value="JSTL"/> </message-resources>
PropertyResourceBundle
operates. Resource mode searches first through the specified Locale's language,
country and variant, then through the default Locale's language,
country and variant and finally using just the base
:
base + "_" + localeLanguage + "_" + localeCountry + "_" + localeVariant base + "_" + localeLanguage + "_" + localeCountry base + "_" + localeLanguage base + "_" + defaultLanguage + "_" + defaultCountry + "_" + defaultVariant base + "_" + defaultLanguage + "_" + defaultCountry base + "_" + defaultLanguage base
Configure PropertyMessageResources
to operate in this mode by
specifying a value of resource
for the mode
key in your struts-config.xml
:
<message-resources parameter="mypackage.MyMessageResources"> <set-property key="mode" value="resource"/> </message-resources>
Field Summary | |
---|---|
protected HashMap |
locales
The set of locale keys for which we have already loaded messages, keyed by the value calculated in localeKey() . |
protected static Log |
log
The Log instance for this class. |
protected HashMap |
messages
The cache of messages we have accumulated over time, keyed by the value calculated in messageKey() . |
Fields inherited from class org.apache.struts.util.MessageResources |
---|
config, defaultFactory, defaultLocale, factory, formats, returnNull |
Constructor Summary | |
---|---|
PropertyMessageResources(MessageResourcesFactory factory,
String config)
Construct a new PropertyMessageResources according to the specified parameters. |
|
PropertyMessageResources(MessageResourcesFactory factory,
String config,
boolean returnNull)
Construct a new PropertyMessageResources according to the specified parameters. |
Method Summary | |
---|---|
String |
getMessage(Locale locale,
String key)
Returns a text message for the specified key, for the specified or default Locale. |
protected void |
loadLocale(String localeKey)
Load the messages associated with the specified Locale key. |
void |
setMode(String mode)
Set the compatibility mode this implementation uses for message lookup. |
Methods inherited from class org.apache.struts.util.MessageResources |
---|
escape, getConfig, getFactory, getMessage, getMessage, getMessage, getMessage, getMessage, getMessage, getMessage, getMessage, getMessage, getMessage, getMessage, getMessageResources, getReturnNull, isEscape, isPresent, isPresent, localeKey, log, log, messageKey, messageKey, setEscape, setReturnNull |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
protected static final Log log
Log
instance for this class.
protected HashMap locales
localeKey()
.
protected HashMap messages
messageKey()
.
Constructor Detail |
---|
public PropertyMessageResources(MessageResourcesFactory factory, String config)
factory
- The MessageResourcesFactory that created usconfig
- The configuration parameter for this MessageResourcespublic PropertyMessageResources(MessageResourcesFactory factory, String config, boolean returnNull)
factory
- The MessageResourcesFactory that created usconfig
- The configuration parameter for this
MessageResourcesreturnNull
- The returnNull property we should initialize withMethod Detail |
---|
public void setMode(String mode)
mode
- JSTL
for JSTL compatibility,
resource
for PropertyResourceBundle compatibility or
default
for Struts backward compatibility.public String getMessage(Locale locale, String key)
returnNull
property is set. Otherwise, an appropriate
error message will be returned. This method must be implemented by a concrete subclass.
getMessage
in class MessageResources
locale
- The requested message Locale, or null
for
the system default Localekey
- The message key to look up
protected void loadLocale(String localeKey)
config
property should contain a fully
qualified package and resource name, separated by periods, of a series
of property resources to be loaded from the class loader that created
this PropertyMessageResources instance. This is exactly the same name
format you would use when utilizing the java.util.PropertyResourceBundle
class.
localeKey
- Locale key for the messages to be retrieved
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |