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
Modifier and TypeMethodDescriptiongetExtraHiddenFields
(HttpServletRequest request) Invoked after all form fields have been rendered.processAction
(HttpServletRequest request, String action, String httpMethod) Invoked when a new form action is rendered.processFormFieldValue
(HttpServletRequest request, String name, String value, String type) Invoked when a form field value is rendered.processUrl
(HttpServletRequest request, String url) Invoked when a URL is about to be rendered or redirected to.
-
Method Details
-
processAction
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
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
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
-