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_KEYFields 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_KEYFields inherited from class org.apache.velocity.tools.generic.LocaleConfig
DEFAULT_LOCALEFields 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 voidconfigure(ValueParser values) Does the actual configuration.expandSingletonArrays(Map<String, String[]> original) getAll()Returns the map of all parameters available for the current request.protected ServletRequestReturns the currentServletRequestfor this instance.protected MapOverrides 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 booleanisSingletonArray(Object value) voidsetRequest(ServletRequest request) Sets the currentServletRequestprotected voidOverrides 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, valuesMethods 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, toStringsMethods inherited from class org.apache.velocity.tools.generic.LocaleConfig
getLocale, setLocaleMethods inherited from class org.apache.velocity.tools.generic.SafeConfig
configure, isConfigLocked, isSafeMode, setLockConfig, setSafeModeMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods 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- theServletRequestto be parsed
-
-
Method Details
-
configure
Description copied from class:ValueParserDoes 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:
configurein classValueParser
-
setRequest
public void setRequest(ServletRequest request) Sets the currentServletRequest- Parameters:
request- theServletRequestto be parsed
-
getRequest
protected ServletRequest getRequest()Returns the currentServletRequestfor 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:
getValuein classValueParser- Parameters:
key- the parameter's key- Returns:
- parameter matching the specified key or
nullif there is no matching parameter
-
getValues
Overrides ValueParser.getValues(String key) to retrieve Strings from the ServletRequest instead of an arbitrary Map.- Overrides:
getValuesin 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
nullif 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:
setSourcein classValueParser
-
getSource
Overrides ValueParser.getSource() to return the result of getRequest().getParameterMap() and expand singleton arrays within it first.- Overrides:
getSourcein classValueParser
-
getAll
Returns the map of all parameters available for the current request. -
isSingletonArray
-
expandSingletonArrays
-