Package org.springframework.web.servlet.support

# 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 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 Details

### processAction

String processAction(HttpServletRequest request, String action, String httpMethod)
Invoked when a new form action is rendered.

Parameters:
  `request` - the current request
  `action` - the form action
  `httpMethod` - 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 request
  `name` - the form field name (if any)
  `value` - the form field value
  `type` - 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 request
  `url` - the URL value
Returns:
  the URL to use, possibly modified