Interface RequestDataValueProcessor
public interface RequestDataValueProcessor
A contract for inspecting and potentially modifying request data values such as URL query parameters or form field values before they are rendered by a view or before a redirect.Implementations may use this contract for example as part of a solution to provide data integrity, confidentiality, protection against cross-site request forgery (CSRF), and others or for other tasks such as automatically adding a hidden field to all forms and URLs.
View technologies that support this contract can obtain an instance to delegate to via
RequestContext.getRequestDataValueProcessor()
.- Since:
- 3.1
- Author:
- Rossen Stoyanchev
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description Map<String,String>
getExtraHiddenFields(HttpServletRequest request)
Invoked after all form fields have been rendered.String
processAction(HttpServletRequest request, String action, String httpMethod)
Invoked when a new form action is rendered.String
processFormFieldValue(HttpServletRequest request, String name, String value, String type)
Invoked when a form field value is rendered.String
processUrl(HttpServletRequest request, String url)
Invoked when a URL is about to be rendered or redirected to.
Method Detail
processAction
String processAction(HttpServletRequest request, String action, String httpMethod)
Invoked when a new form action is rendered.- Parameters:
request
- the current requestaction
- the form actionhttpMethod
- the form HTTP method- Returns:
- the action to use, possibly modified
processFormFieldValue
String processFormFieldValue(HttpServletRequest request, @Nullable String name, String value, String type)
Invoked when a form field value is rendered.- Parameters:
request
- the current requestname
- the form field name (if any)value
- the form field valuetype
- the form field type ("text", "hidden", etc.)- Returns:
- the form field value to use, possibly modified
getExtraHiddenFields
@Nullable Map<String,String> getExtraHiddenFields(HttpServletRequest request)
Invoked after all form fields have been rendered.- Parameters:
request
- the current request- Returns:
- additional hidden form fields to be added, or
null
if none
processUrl
String processUrl(HttpServletRequest request, String url)
Invoked when a URL is about to be rendered or redirected to.- Parameters:
request
- the current requesturl
- the URL value- Returns:
- the URL to use, possibly modified