Package org.apache.velocity.tools.view
Class ParameterTool
java.lang.Object
org.apache.velocity.tools.generic.SafeConfig
org.apache.velocity.tools.generic.LocaleConfig
org.apache.velocity.tools.generic.ConversionTool
org.apache.velocity.tools.generic.ValueParser
org.apache.velocity.tools.view.ParameterTool
- Direct Known Subclasses:
ParameterParser
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.
- Since:
- VelocityTools 2.0
- Version:
- $Revision: 749733 $ $Date: 2009-03-03 12:24:17 -0800 (Tue, 03 Mar 2009) $
- Author:
- Nathan Bubna
-
Nested Class Summary
-
Field Summary
FieldsFields inherited from class org.apache.velocity.tools.generic.ValueParser
ALLOWSUBKEYS_KEY, READONLY_KEY
Fields inherited from class org.apache.velocity.tools.generic.ConversionTool
DATE_FORMAT_KEY, DEFAULT_DATE_FORMAT, DEFAULT_NUMBER_FORMAT, DEFAULT_STRINGS_DELIMITER, DEFAULT_STRINGS_TRIM, NUMBER_FORMAT_KEY, STRINGS_DELIMITER_FORMAT_KEY, STRINGS_TRIM_KEY
Fields inherited from class org.apache.velocity.tools.generic.LocaleConfig
DEFAULT_LOCALE
Fields inherited from class org.apache.velocity.tools.generic.SafeConfig
LOCK_CONFIG_KEY, OLD_LOCK_CONFIG_KEY, SAFE_MODE_KEY
-
Constructor Summary
ConstructorsConstructorDescriptionConstructs a new instanceParameterTool
(ServletRequest request) Constructs a new instance using the specified request. -
Method Summary
Modifier and TypeMethodDescriptionprotected void
configure
(ValueParser values) Does the actual configuration.expandSingletonArrays
(Map<String, String[]> original) getAll()
Returns the map of all parameters available for the current request.protected ServletRequest
Returns the currentServletRequest
for this instance.protected Map
Overrides ValueParser.getSource() to return the result of getRequest().getParameterMap() and expand singleton arrays within it first.Overrides ValueParser.getValue(String key) to retrieve the value from the ServletRequest instead of an arbitrary Map.Object[]
Overrides ValueParser.getValues(String key) to retrieve Strings from the ServletRequest instead of an arbitrary Map.private boolean
isSingletonArray
(Object value) void
setRequest
(ServletRequest request) Sets the currentServletRequest
protected void
Overrides ValueParser.setSource(Map source) to throw an UnsupportedOperationException, because this class uses a servlet request as its source, not a Map.Methods inherited from class org.apache.velocity.tools.generic.ValueParser
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, values
Methods inherited from class org.apache.velocity.tools.generic.ConversionTool
getDateFormat, 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, toStrings
Methods inherited from class org.apache.velocity.tools.generic.LocaleConfig
getLocale, setLocale
Methods inherited from class org.apache.velocity.tools.generic.SafeConfig
configure, isConfigLocked, isSafeMode, setLockConfig, setSafeMode
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
Methods inherited from interface java.util.Map
compute, computeIfAbsent, computeIfPresent, equals, forEach, getOrDefault, hashCode, merge, putIfAbsent, remove, replace, replace, replaceAll
-
Field Details
-
request
private ServletRequest request
-
-
Constructor Details
-
ParameterTool
public ParameterTool()Constructs a new instance -
ParameterTool
public ParameterTool(ServletRequest request) Constructs a new instance using the specified request.- Parameters:
request
- theServletRequest
to be parsed
-
-
Method Details
-
configure
Description copied from class:ValueParser
Does the actual configuration. This is protected, so subclasses may share the same ValueParser and call configure at any time, while preventing templates from doing so when configure(Map) is locked.- Overrides:
configure
in classValueParser
-
setRequest
public void setRequest(ServletRequest request) Sets the currentServletRequest
- Parameters:
request
- theServletRequest
to be parsed
-
getRequest
protected ServletRequest getRequest()Returns the currentServletRequest
for this instance.- Returns:
- the current
ServletRequest
- Throws:
UnsupportedOperationException
- if the request is null
-
getValue
Overrides ValueParser.getValue(String key) to retrieve the value from the ServletRequest instead of an arbitrary Map.- Overrides:
getValue
in classValueParser
- Parameters:
key
- the parameter's key- Returns:
- parameter matching the specified key or
null
if there is no matching parameter
-
getValues
Overrides ValueParser.getValues(String key) to retrieve Strings from the ServletRequest instead of an arbitrary Map.- Overrides:
getValues
in classValueParser
- Parameters:
key
- the key for the desired parameter- Returns:
- an array of String objects containing all of the values
the given request parameter has, or
null
if the parameter does not exist
-
setSource
Overrides ValueParser.setSource(Map source) to throw an UnsupportedOperationException, because this class uses a servlet request as its source, not a Map.- Overrides:
setSource
in classValueParser
-
getSource
Overrides ValueParser.getSource() to return the result of getRequest().getParameterMap() and expand singleton arrays within it first.- Overrides:
getSource
in classValueParser
-
getAll
Returns the map of all parameters available for the current request. -
isSingletonArray
-
expandSingletonArrays
-