Class ParameterTool
java.lang.Object
org.apache.velocity.tools.generic.SafeConfig
org.apache.velocity.tools.generic.LocaleConfig
org.apache.velocity.tools.generic.FormatConfig
org.apache.velocity.tools.generic.ValueParser
org.apache.velocity.tools.view.ParameterTool
@DefaultKey("params")
@ValidScope("request")
public class ParameterTool
extends org.apache.velocity.tools.generic.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.
- Since:
- VelocityTools 2.0
- Version:
- $Revision$ $Date$
- Author:
- Nathan Bubna
-
Nested Class Summary
-
Field Summary
Fields inherited from class org.apache.velocity.tools.generic.ValueParser
ALLOWSUBKEYS_KEY, DEFAULT_STRINGS_DELIMITER, READONLY_KEY, STRINGS_DELIMITER_FORMAT_KEYFields inherited from class org.apache.velocity.tools.generic.FormatConfig
DEFAULT_FORMAT, FORMAT_KEYFields inherited from class org.apache.velocity.tools.generic.LocaleConfig
DEFAULT_LOCALEFields inherited from class org.apache.velocity.tools.generic.SafeConfig
LOCK_CONFIG_KEY, log, LOGGER_NAME_KEY, SAFE_MODE_KEY, USE_CLASS_LOGGER_KEY -
Constructor Summary
ConstructorsConstructorDescriptionConstructs a new instanceParameterTool(javax.servlet.ServletRequest request) Constructs a new instance using the specified request. -
Method Summary
Modifier and TypeMethodDescriptionprotected voidconfigure(org.apache.velocity.tools.generic.ValueParser values) getAll()protected javax.servlet.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.voidsetRequest(javax.servlet.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, getLong, getLong, getNumber, getNumber, getNumbers, getReadOnly, getSource, getString, getString, getStrings, getSubkey, getSubkeys, getValue, hasSubkeys, isEmpty, keySet, parseStringList, put, putAll, remove, setAllowSubkeys, setReadOnly, setStringsDelimiter, size, toString, valuesMethods inherited from class org.apache.velocity.tools.generic.FormatConfig
getFormat, setFormatMethods inherited from class org.apache.velocity.tools.generic.LocaleConfig
getLocale, setLocale, toLocaleMethods inherited from class org.apache.velocity.tools.generic.SafeConfig
configure, getLog, initLogger, isConfigLocked, isSafeMode, setLockConfig, setSafeModeMethods inherited from class Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods inherited from interface Map
compute, computeIfAbsent, computeIfPresent, equals, forEach, getOrDefault, hashCode, merge, putIfAbsent, remove, replace, replace, replaceAll
-
Constructor Details
-
ParameterTool
public ParameterTool()Constructs a new instance -
ParameterTool
public ParameterTool(javax.servlet.ServletRequest request) Constructs a new instance using the specified request.- Parameters:
request- theServletRequestto be parsed
-
-
Method Details
-
configure
protected void configure(org.apache.velocity.tools.generic.ValueParser values) - Overrides:
configurein classorg.apache.velocity.tools.generic.ValueParser
-
setRequest
public void setRequest(javax.servlet.ServletRequest request) Sets the currentServletRequest- Parameters:
request- theServletRequestto be parsed
-
getRequest
protected javax.servlet.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 classorg.apache.velocity.tools.generic.ValueParser- 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 classorg.apache.velocity.tools.generic.ValueParser- 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 classorg.apache.velocity.tools.generic.ValueParser
-
getSource
Overrides ValueParser.getSource() to return the result of getRequest().getParameterMap() and expand singleton arrays within it first.- Overrides:
getSourcein classorg.apache.velocity.tools.generic.ValueParser
-
getAll
- Returns:
- the map of all parameters available for the current request.
-