public interface TextProvider
ResourceBundle
s and their underlying text messages.
Implementing classes can delegate TextProviderSupport
. Messages will be
searched in multiple resource bundles, starting with the one associated with
this particular class (action in most cases), continuing to try the message
bundle associated with each superclass as well. It will stop once a bundle is
found that contains the given text. This gives a cascading style that allow
global texts to be defined for an application base class.
You can override LocaleProvider.getLocale()
to change the behaviour of how
to choose locale for the bundles that are returned. Typically you would
use the LocaleProvider
interface to get the users configured locale.
When you want to use your own implementation for Struts 2 project you have to define following bean and constant in struts.xml: <bean class="org.demo.MyTextProvider" name="myTextProvider" type="com.opensymphony.xwork2.TextProvider" /> <constant name="struts.xworkTextProvider" value="myTextProvider" />
if you want to also use your implementation for framework's messages define another constant (remember to put into it all framework messages) <constant name="system" value="myTextProvider" />
Take a look on ActionSupport
for example TextProvider implementation.
LocaleProvider
,
TextProviderSupport
Modifier and Type | Method and Description |
---|---|
String |
getText(String key)
Gets a message based on a message key or if no message is found the provided key
is returned.
|
String |
getText(String key,
List<?> args)
Gets a message based on a key using the supplied args, as defined in
MessageFormat or the provided key if no message is found. |
String |
getText(String key,
String defaultValue)
Gets a message based on a key, or, if the message is not found, a supplied
default value is returned.
|
String |
getText(String key,
String[] args)
Gets a message based on a key using the supplied args, as defined in
MessageFormat , or the provided key if no message is found. |
String |
getText(String key,
String defaultValue,
List<?> args)
Gets a message based on a key using the supplied args, as defined in
MessageFormat , or, if the message is not found, a supplied
default value is returned. |
String |
getText(String key,
String defaultValue,
List<?> args,
ValueStack stack)
Gets a message based on a key using the supplied args, as defined in
MessageFormat , or, if the message is not found, a supplied
default value is returned. |
String |
getText(String key,
String defaultValue,
String obj)
Gets a message based on a key using the supplied obj, as defined in
MessageFormat , or, if the message is not found, a supplied
default value is returned. |
String |
getText(String key,
String defaultValue,
String[] args)
Gets a message based on a key using the supplied args, as defined in
MessageFormat , or, if the message is not found, a supplied
default value is returned. |
String |
getText(String key,
String defaultValue,
String[] args,
ValueStack stack)
Gets a message based on a key using the supplied args, as defined in
MessageFormat , or, if the message is not found, a supplied
default value is returned. |
ResourceBundle |
getTexts()
Get the resource bundle associated with the implementing class (usually an action).
|
ResourceBundle |
getTexts(String bundleName)
Get the named bundle, such as "com/acme/Foo".
|
boolean |
hasKey(String key)
Checks if a message key exists.
|
boolean hasKey(String key)
key
- message key to check forString getText(String key)
key
- the resource bundle key that is to be searched forString getText(String key, String defaultValue)
key
- the resource bundle key that is to be searched fordefaultValue
- the default value which will be returned if no message is foundString getText(String key, String defaultValue, String obj)
MessageFormat
, or, if the message is not found, a supplied
default value is returned.key
- the resource bundle key that is to be searched fordefaultValue
- the default value which will be returned if no message is foundobj
- obj to be used in a MessageFormat
messageString getText(String key, List<?> args)
MessageFormat
or the provided key if no message is found.key
- the resource bundle key that is to be searched forargs
- a list args to be used in a MessageFormat
messageString getText(String key, String[] args)
MessageFormat
, or the provided key if no message is found.key
- the resource bundle key that is to be searched forargs
- an array args to be used in a MessageFormat
messageString getText(String key, String defaultValue, List<?> args)
MessageFormat
, or, if the message is not found, a supplied
default value is returned.key
- the resource bundle key that is to be searched fordefaultValue
- the default value which will be returned if no message is foundargs
- a list args to be used in a MessageFormat
messageString getText(String key, String defaultValue, String[] args)
MessageFormat
, or, if the message is not found, a supplied
default value is returned.key
- the resource bundle key that is to be searched fordefaultValue
- the default value which will be returned if no message is foundargs
- an array args to be used in a MessageFormat
messageString getText(String key, String defaultValue, List<?> args, ValueStack stack)
MessageFormat
, or, if the message is not found, a supplied
default value is returned. Instead of using the value stack in the ActionContext
this version of the getText() method uses the provided value stack.key
- the resource bundle key that is to be searched fordefaultValue
- the default value which will be returned if no message is foundargs
- a list args to be used in a MessageFormat
messagestack
- the value stack to use for finding the textString getText(String key, String defaultValue, String[] args, ValueStack stack)
MessageFormat
, or, if the message is not found, a supplied
default value is returned. Instead of using the value stack in the ActionContext
this version of the getText() method uses the provided value stack.key
- the resource bundle key that is to be searched fordefaultValue
- the default value which will be returned if no message is foundargs
- an array args to be used in a MessageFormat
messagestack
- the value stack to use for finding the textResourceBundle getTexts(String bundleName)
bundleName
- the name of the resource bundle, such as "com/acme/Foo"
.ResourceBundle getTexts()
Copyright © 2000–2020 Apache Software Foundation. All rights reserved.