Top Description Constructors Methods
org.springframework.web.context.request

public Class FacesWebRequest

extends FacesRequestAttributes
implements NativeWebRequest
Class Inheritance
All Implemented Interfaces
org.springframework.web.context.request.NativeWebRequest, org.springframework.web.context.request.WebRequest, org.springframework.web.context.request.RequestAttributes
Imports
java.security.Principal, java.util.Iterator, .Locale, .Map, jakarta.faces.context.ExternalContext, .FacesContext, org.springframework.lang.Nullable, org.springframework.util.StringUtils

WebRequest adapter for a JSF jakarta.faces.context.FacesContext.

Requires JSF 2.0 or higher, as of Spring 4.0.

Author
Juergen Hoeller
Since
2.5.2

Constructor Summary

AccessConstructor and Description
public
FacesWebRequest(FacesContext
the current FacesContext
facesContext
)

Create a new FacesWebRequest adapter for the given FacesContext.

Method Summary

Modifier and TypeMethod and Description
public boolean
checkNotModified(long
the last-modified timestamp in milliseconds that the application determined for the underlying resource
lastModifiedTimestamp
)

Implements org.springframework.web.context.request.WebRequest.checkNotModified.

Check whether the requested resource has been modified given the supplied last-modified timestamp (as determined by the application).
public boolean
checkNotModified(String
the entity tag that the application determined for the underlying resource. This parameter will be padded with quotes (") if necessary.
eTag
)

Implements org.springframework.web.context.request.WebRequest.checkNotModified.

Check whether the requested resource has been modified given the supplied ETag (entity tag), as determined by the application.
public boolean
checkNotModified(String
the entity tag that the application determined for the underlying resource. This parameter will be padded with quotes (") if necessary.
etag
,
long
the last-modified timestamp in milliseconds that the application determined for the underlying resource
lastModifiedTimestamp
)

Implements org.springframework.web.context.request.WebRequest.checkNotModified.

Check whether the requested resource has been modified given the supplied ETag (entity tag) and last-modified timestamp, as determined by the application.
public String
getContextPath()

Implements org.springframework.web.context.request.WebRequest.getContextPath.

Return the context path for this request (usually the base path that the current web application is mapped to).
public String
getDescription(boolean
whether to include client-specific information such as session id and user name
includeClientInfo
)

Implements org.springframework.web.context.request.WebRequest.getDescription.

Get a short description of this request, typically containing request URI and session id.
public String
getHeader(String headerName)

Implements org.springframework.web.context.request.WebRequest.getHeader.

Return the request header of the given name, or null if none.
public Iterator<String>
getHeaderNames()

Implements org.springframework.web.context.request.WebRequest.getHeaderNames.

Return an Iterator over request header names.
public String[]
getHeaderValues(String headerName)

Implements org.springframework.web.context.request.WebRequest.getHeaderValues.

Return the request header values for the given header name, or null if none.
public Locale
getLocale()

Implements org.springframework.web.context.request.WebRequest.getLocale.

Return the primary Locale for this request.
public Object
getNativeRequest()

Implements org.springframework.web.context.request.NativeWebRequest.getNativeRequest.

Return the underlying native request object.
public <T> T
getNativeRequest(Class<T>
the desired type of request object
requiredType
)

Implements org.springframework.web.context.request.NativeWebRequest.getNativeRequest.

Return the underlying native request object, if available.
public Object
getNativeResponse()

Implements org.springframework.web.context.request.NativeWebRequest.getNativeResponse.

Return the underlying native response object, if any.
public <T> T
getNativeResponse(Class<T>
the desired type of response object
requiredType
)

Implements org.springframework.web.context.request.NativeWebRequest.getNativeResponse.

Return the underlying native response object, if available.
public String
getParameter(String paramName)

Implements org.springframework.web.context.request.WebRequest.getParameter.

Return the request parameter of the given name, or null if none.
public Map<String, String[]>
getParameterMap()

Implements org.springframework.web.context.request.WebRequest.getParameterMap.

Return an immutable Map of the request parameters, with parameter names as map keys and parameter values as map values.
public Iterator<String>
getParameterNames()

Implements org.springframework.web.context.request.WebRequest.getParameterNames.

Return an Iterator over request parameter names.
public String[]
getParameterValues(String paramName)

Implements org.springframework.web.context.request.WebRequest.getParameterValues.

Return the request parameter values for the given parameter name, or null if none.
public String
getRemoteUser()

Implements org.springframework.web.context.request.WebRequest.getRemoteUser.

Return the remote user for this request, if any.
public Principal
getUserPrincipal()

Implements org.springframework.web.context.request.WebRequest.getUserPrincipal.

Return the user principal for this request, if any.
public boolean
isSecure()

Implements org.springframework.web.context.request.WebRequest.isSecure.

Return whether this request has been sent over a secure transport mechanism (such as SSL).
public boolean
isUserInRole(String role)

Implements org.springframework.web.context.request.WebRequest.isUserInRole.

Determine whether the user is in the given role for this request.
public String
toString()

Overrides java.lang.Object.toString.

Returns a string representation of the object.
Inherited from org.springframework.web.context.request.FacesRequestAttributes:
getAttributegetAttributeMapgetAttributeNamesgetExternalContextgetFacesContextgetSessionIdgetSessionMutexregisterDestructionCallbackremoveAttributeresolveReferencesetAttribute

Constructor Detail

FacesWebRequestback to summary
public FacesWebRequest(FacesContext facesContext)

Create a new FacesWebRequest adapter for the given FacesContext.

Parameters
facesContext:FacesContext

the current FacesContext

See Also
jakarta.faces.context.FacesContext#getCurrentInstance()

Method Detail

checkNotModifiedback to summary
public boolean checkNotModified(long lastModifiedTimestamp)

Implements org.springframework.web.context.request.WebRequest.checkNotModified.

Doc from org.springframework.web.context.request.WebRequest.checkNotModified.

Check whether the requested resource has been modified given the supplied last-modified timestamp (as determined by the application).

This will also transparently set the "Last-Modified" response header and HTTP status when applicable.

Typical usage:

public String myHandleMethod(WebRequest request, Model model) {
  long lastModified = // application-specific calculation
  if (request.checkNotModified(lastModified)) {
    // shortcut exit - no further processing necessary
    return null;
  }
  // further request processing, actually building content
  model.addAttribute(...);
  return "myViewName";
}

This method works with conditional GET/HEAD requests, but also with conditional POST/PUT/DELETE requests.

Note

you can use either this #checkNotModified(long) method; or checkNotModified(String). If you want to enforce both a strong entity tag and a Last-Modified value, as recommended by the HTTP specification, then you should use checkNotModified(String, long).

If the "If-Modified-Since" header is set but cannot be parsed to a date value, this method will ignore the header and proceed with setting the last-modified timestamp on the response.

Parameters
lastModifiedTimestamp:long

the last-modified timestamp in milliseconds that the application determined for the underlying resource

Returns:boolean

whether the request qualifies as not modified, allowing to abort request processing and relying on the response telling the client that the content has not been modified

Annotations
@Override
checkNotModifiedback to summary
public boolean checkNotModified(String eTag)

Implements org.springframework.web.context.request.WebRequest.checkNotModified.

Doc from org.springframework.web.context.request.WebRequest.checkNotModified.

Check whether the requested resource has been modified given the supplied ETag (entity tag), as determined by the application.

This will also transparently set the "ETag" response header and HTTP status when applicable.

Typical usage:

public String myHandleMethod(WebRequest request, Model model) {
  String eTag = // application-specific calculation
  if (request.checkNotModified(eTag)) {
    // shortcut exit - no further processing necessary
    return null;
  }
  // further request processing, actually building content
  model.addAttribute(...);
  return "myViewName";
}

Note

you can use either this #checkNotModified(String) method; or checkNotModified(long). If you want to enforce both a strong entity tag and a Last-Modified value, as recommended by the HTTP specification, then you should use checkNotModified(String, long).

Parameters
eTag:String

the entity tag that the application determined for the underlying resource. This parameter will be padded with quotes (") if necessary.

Returns:boolean

true if the request does not require further processing.

Annotations
@Override
checkNotModifiedback to summary
public boolean checkNotModified(String etag, long lastModifiedTimestamp)

Implements org.springframework.web.context.request.WebRequest.checkNotModified.

Doc from org.springframework.web.context.request.WebRequest.checkNotModified.

Check whether the requested resource has been modified given the supplied ETag (entity tag) and last-modified timestamp, as determined by the application.

This will also transparently set the "ETag" and "Last-Modified" response headers, and HTTP status when applicable.

Typical usage:

public String myHandleMethod(WebRequest request, Model model) {
  String eTag = // application-specific calculation
  long lastModified = // application-specific calculation
  if (request.checkNotModified(eTag, lastModified)) {
    // shortcut exit - no further processing necessary
    return null;
  }
  // further request processing, actually building content
  model.addAttribute(...);
  return "myViewName";
}

This method works with conditional GET/HEAD requests, but also with conditional POST/PUT/DELETE requests.

Note

The HTTP specification recommends setting both ETag and Last-Modified values, but you can also use #checkNotModified(String) or checkNotModified(long).

Parameters
etag:String

the entity tag that the application determined for the underlying resource. This parameter will be padded with quotes (") if necessary.

lastModifiedTimestamp:long

the last-modified timestamp in milliseconds that the application determined for the underlying resource

Returns:boolean

true if the request does not require further processing.

Annotations
@Override
getContextPathback to summary
public String getContextPath()

Implements org.springframework.web.context.request.WebRequest.getContextPath.

Doc from org.springframework.web.context.request.WebRequest.getContextPath.

Return the context path for this request (usually the base path that the current web application is mapped to).

Annotations
@Override
getDescriptionback to summary
public String getDescription(boolean includeClientInfo)

Implements org.springframework.web.context.request.WebRequest.getDescription.

Doc from org.springframework.web.context.request.WebRequest.getDescription.

Get a short description of this request, typically containing request URI and session id.

Parameters
includeClientInfo:boolean

whether to include client-specific information such as session id and user name

Returns:String

the requested description as String

Annotations
@Override
getHeaderback to summary
public String getHeader(String headerName)

Implements org.springframework.web.context.request.WebRequest.getHeader.

Doc from org.springframework.web.context.request.WebRequest.getHeader.

Return the request header of the given name, or null if none.

Retrieves the first header value in case of a multi-value header.

Annotations
@Override
@Nullable
getHeaderNamesback to summary
public Iterator<String> getHeaderNames()

Implements org.springframework.web.context.request.WebRequest.getHeaderNames.

Doc from org.springframework.web.context.request.WebRequest.getHeaderNames.

Return an Iterator over request header names.

Annotations
@Override
getHeaderValuesback to summary
public String[] getHeaderValues(String headerName)

Implements org.springframework.web.context.request.WebRequest.getHeaderValues.

Doc from org.springframework.web.context.request.WebRequest.getHeaderValues.

Return the request header values for the given header name, or null if none.

A single-value header will be exposed as an array with a single element.

Annotations
@Override
@Nullable
getLocaleback to summary
public Locale getLocale()

Implements org.springframework.web.context.request.WebRequest.getLocale.

Doc from org.springframework.web.context.request.WebRequest.getLocale.

Return the primary Locale for this request.

Annotations
@Override
getNativeRequestback to summary
public Object getNativeRequest()

Implements org.springframework.web.context.request.NativeWebRequest.getNativeRequest.

Doc from org.springframework.web.context.request.NativeWebRequest.getNativeRequest.

Return the underlying native request object.

Annotations
@Override
getNativeRequestback to summary
public <T> T getNativeRequest(Class<T> requiredType)

Implements org.springframework.web.context.request.NativeWebRequest.getNativeRequest.

Doc from org.springframework.web.context.request.NativeWebRequest.getNativeRequest.

Return the underlying native request object, if available.

Parameters
requiredType:Class<T>

the desired type of request object

Returns:T

the matching request object, or null if none of that type is available

Annotations
@Override
@SuppressWarnings:unchecked
getNativeResponseback to summary
public Object getNativeResponse()

Implements org.springframework.web.context.request.NativeWebRequest.getNativeResponse.

Doc from org.springframework.web.context.request.NativeWebRequest.getNativeResponse.

Return the underlying native response object, if any.

Annotations
@Override
getNativeResponseback to summary
public <T> T getNativeResponse(Class<T> requiredType)

Implements org.springframework.web.context.request.NativeWebRequest.getNativeResponse.

Doc from org.springframework.web.context.request.NativeWebRequest.getNativeResponse.

Return the underlying native response object, if available.

Parameters
requiredType:Class<T>

the desired type of response object

Returns:T

the matching response object, or null if none of that type is available

Annotations
@Override
@SuppressWarnings:unchecked
getParameterback to summary
public String getParameter(String paramName)

Implements org.springframework.web.context.request.WebRequest.getParameter.

Doc from org.springframework.web.context.request.WebRequest.getParameter.

Return the request parameter of the given name, or null if none.

Retrieves the first parameter value in case of a multi-value parameter.

Annotations
@Override
@Nullable
getParameterMapback to summary
public Map<String, String[]> getParameterMap()

Implements org.springframework.web.context.request.WebRequest.getParameterMap.

Doc from org.springframework.web.context.request.WebRequest.getParameterMap.

Return an immutable Map of the request parameters, with parameter names as map keys and parameter values as map values. The map values will be of type String array.

A single-value parameter will be exposed as an array with a single element.

Annotations
@Override
getParameterNamesback to summary
public Iterator<String> getParameterNames()

Implements org.springframework.web.context.request.WebRequest.getParameterNames.

Doc from org.springframework.web.context.request.WebRequest.getParameterNames.

Return an Iterator over request parameter names.

Annotations
@Override
getParameterValuesback to summary
public String[] getParameterValues(String paramName)

Implements org.springframework.web.context.request.WebRequest.getParameterValues.

Doc from org.springframework.web.context.request.WebRequest.getParameterValues.

Return the request parameter values for the given parameter name, or null if none.

A single-value parameter will be exposed as an array with a single element.

Annotations
@Override
@Nullable
getRemoteUserback to summary
public String getRemoteUser()

Implements org.springframework.web.context.request.WebRequest.getRemoteUser.

Doc from org.springframework.web.context.request.WebRequest.getRemoteUser.

Return the remote user for this request, if any.

Annotations
@Override
@Nullable
getUserPrincipalback to summary
public Principal getUserPrincipal()

Implements org.springframework.web.context.request.WebRequest.getUserPrincipal.

Doc from org.springframework.web.context.request.WebRequest.getUserPrincipal.

Return the user principal for this request, if any.

Annotations
@Override
@Nullable
isSecureback to summary
public boolean isSecure()

Implements org.springframework.web.context.request.WebRequest.isSecure.

Doc from org.springframework.web.context.request.WebRequest.isSecure.

Return whether this request has been sent over a secure transport mechanism (such as SSL).

Annotations
@Override
isUserInRoleback to summary
public boolean isUserInRole(String role)

Implements org.springframework.web.context.request.WebRequest.isUserInRole.

Doc from org.springframework.web.context.request.WebRequest.isUserInRole.

Determine whether the user is in the given role for this request.

Annotations
@Override
toStringback to summary
public String toString()

Overrides java.lang.Object.toString.

Doc from java.lang.Object.toString.

Returns a string representation of the object.

Returns:String

a string representation of the object.

Annotations
@Override