@DefaultKey(value="params") @ValidScope(value="request") public class ParameterTool extends ValueParser
Utility class for easy parsing of ServletRequest parameters.
Template example(s):
$params.foo -> bar
$params.getNumber('baz') -> 12.6
$params.getInt('baz') -> 12
$params.getNumbers('baz') -> [12.6]
Toolbox configuration:
<tools>
<toolbox scope="request">
<tool class="org.apache.velocity.tools.view.ParameterTool"/>
</toolbox>
</tools>
When used as a view tool, this should only be used in the request scope. This class is, however, quite useful in your application's controller, filter, or action code as well as in templates.
| Modifier and Type | Field and Description |
|---|---|
private ServletRequest |
request |
ALLOWSUBKEYS_KEY, READONLY_KEYDATE_FORMAT_KEY, DEFAULT_DATE_FORMAT, DEFAULT_NUMBER_FORMAT, DEFAULT_STRINGS_DELIMITER, DEFAULT_STRINGS_TRIM, NUMBER_FORMAT_KEY, STRINGS_DELIMITER_FORMAT_KEY, STRINGS_TRIM_KEYDEFAULT_LOCALELOCK_CONFIG_KEY, OLD_LOCK_CONFIG_KEY, SAFE_MODE_KEY| Constructor and Description |
|---|
ParameterTool()
Constructs a new instance
|
ParameterTool(ServletRequest request)
Constructs a new instance using the specified request.
|
| Modifier and Type | Method and Description |
|---|---|
protected void |
configure(ValueParser values)
Does the actual configuration.
|
private java.util.Map<java.lang.String,java.lang.Object> |
expandSingletonArrays(java.util.Map<java.lang.String,java.lang.Object> original) |
java.util.Map |
getAll()
Returns the map of all parameters available for the current request.
|
protected ServletRequest |
getRequest()
Returns the current
ServletRequest for this instance. |
protected java.util.Map |
getSource()
Overrides ValueParser.getSource() to return the result
of getRequest().getParameterMap() and expand singleton
arrays within it first.
|
java.lang.Object |
getValue(java.lang.String key)
Overrides ValueParser.getValue(String key) to retrieve the
value from the ServletRequest instead of an arbitrary Map.
|
java.lang.Object[] |
getValues(java.lang.String key)
Overrides ValueParser.getValues(String key) to retrieve
Strings from the ServletRequest instead of an arbitrary Map.
|
private boolean |
isSingletonArray(java.lang.Object value) |
void |
setRequest(ServletRequest request)
Sets the current
ServletRequest |
protected void |
setSource(java.util.Map source)
Overrides ValueParser.setSource(Map source) to throw an
UnsupportedOperationException, because this class uses
a servlet request as its source, not a Map.
|
clear, containsKey, containsValue, entrySet, exists, get, get, getAllowSubkeys, getBoolean, getBoolean, getBoolean, getBooleans, getDouble, getDouble, getDouble, getDoubles, getInt, getInteger, getInteger, getInts, getLocale, getLocale, getLocales, getNumber, getNumber, getNumbers, getReadOnly, getString, getString, getStrings, getSubkey, getValue, hasSubkeys, isEmpty, keySet, put, putAll, remove, setAllowSubkeys, setReadOnly, size, toString, valuesgetDateFormat, getNumberFormat, getStringsDelimiter, getStringsTrim, parseBoolean, parseDate, parseDate, parseDate, parseDate, parseDate, parseLocale, parseNumber, parseNumber, parseNumber, parseNumber, parseStringList, setDateFormat, setNumberFormat, setStringsDelimiter, setStringsTrim, toBoolean, toBooleans, toBooleans, toCalendar, toCalendars, toCalendars, toDate, toDates, toDates, toDouble, toDoubles, toInteger, toIntegers, toInts, toLocale, toLocales, toLocales, toNumber, toNumbers, toNumbers, toString, toStringsgetLocale, setLocaleconfigure, isConfigLocked, isSafeMode, setLockConfig, setSafeModepublic ParameterTool()
public ParameterTool(ServletRequest request)
request - the ServletRequest to be parsedprotected void configure(ValueParser values)
ValueParserconfigure in class ValueParserpublic void setRequest(ServletRequest request)
ServletRequestrequest - the ServletRequest to be parsedprotected ServletRequest getRequest()
ServletRequest for this instance.ServletRequestjava.lang.UnsupportedOperationException - if the request is nullpublic java.lang.Object getValue(java.lang.String key)
getValue in class ValueParserkey - the parameter's keynull if there is no matching
parameterpublic java.lang.Object[] getValues(java.lang.String key)
getValues in class ValueParserkey - the key for the desired parameternull
if the parameter does not existprotected void setSource(java.util.Map source)
setSource in class ValueParserprotected java.util.Map getSource()
getSource in class ValueParserpublic java.util.Map getAll()
private boolean isSingletonArray(java.lang.Object value)
private java.util.Map<java.lang.String,java.lang.Object> expandSingletonArrays(java.util.Map<java.lang.String,java.lang.Object> original)
Copyright (c) 2003-2007 Apache Software Foundation