Groovy Documentation

org.codehaus.groovy.grails.web.util
[Java] Class WebUtils

java.lang.Object
  org.springframework.web.util.WebUtils
      org.codehaus.groovy.grails.web.util.WebUtils

public class WebUtils
extends org.springframework.web.util.WebUtils

Utility methods to access commons objects and perform common web related functions for the internal framework.

Authors:
Graeme Rocher
Since:
1.0


Field Summary
static java.lang.String DISPATCH_ACTION_PARAMETER

static java.lang.String ENABLE_FILE_EXTENSIONS

static char SLASH

 
Fields inherited from class org.springframework.web.util.WebUtils
INCLUDE_REQUEST_URI_ATTRIBUTE, INCLUDE_CONTEXT_PATH_ATTRIBUTE, INCLUDE_SERVLET_PATH_ATTRIBUTE, INCLUDE_PATH_INFO_ATTRIBUTE, INCLUDE_QUERY_STRING_ATTRIBUTE, FORWARD_REQUEST_URI_ATTRIBUTE, FORWARD_CONTEXT_PATH_ATTRIBUTE, FORWARD_SERVLET_PATH_ATTRIBUTE, FORWARD_PATH_INFO_ATTRIBUTE, FORWARD_QUERY_STRING_ATTRIBUTE, ERROR_STATUS_CODE_ATTRIBUTE, ERROR_EXCEPTION_TYPE_ATTRIBUTE, ERROR_MESSAGE_ATTRIBUTE, ERROR_EXCEPTION_ATTRIBUTE, ERROR_REQUEST_URI_ATTRIBUTE, ERROR_SERVLET_NAME_ATTRIBUTE, CONTENT_TYPE_CHARSET_PREFIX, DEFAULT_CHARACTER_ENCODING, TEMP_DIR_CONTEXT_ATTRIBUTE, HTML_ESCAPE_CONTEXT_PARAM, WEB_APP_ROOT_KEY_PARAM, DEFAULT_WEB_APP_ROOT_KEY, SUBMIT_IMAGE_SUFFIXES, SESSION_MUTEX_ATTRIBUTE
 
Method Summary
static boolean areFileExtensionsEnabled()

Returns the value of the "grails.mime.file.extensions" setting configured in COnfig.groovy

static java.lang.String buildDispatchUrlForMapping(UrlMappingInfo info)

Constructs the URI to forward to using the given request and UrlMappingInfo instance

static void clearGrailsWebRequest()

static void exposeIncludeRequestAttributes(javax.servlet.http.HttpServletRequest request)

Expose the current request URI and paths as javax.servlet.http.HttpServletRequest attributes under the keys defined in the Servlet 2.4 specification, for containers that implement 2.3 or an earlier version of the Servlet API: javax.servlet.forward.request_uri, javax.servlet.forward.context_path, javax.servlet.forward.servlet_path, javax.servlet.forward.path_info, javax.servlet.forward.query_string.

static java.lang.String forwardRequestForUrlMappingInfo(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response, UrlMappingInfo info)

@see org.codehaus.groovy.grails.web.util.WebUtils#forwardRequestForUrlMappingInfo(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse, org.codehaus.groovy.grails.web.mapping.UrlMappingInfo, java.util.Map)

static java.lang.String forwardRequestForUrlMappingInfo(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response, UrlMappingInfo info, java.util.Map model)

@see #forwardRequestForUrlMappingInfo(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse, org.codehaus.groovy.grails.web.mapping.UrlMappingInfo, java.util.Map, boolean)

static java.lang.String forwardRequestForUrlMappingInfo(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response, UrlMappingInfo info, java.util.Map model, boolean includeParams)

Forwards a request for the given UrlMappingInfo object and model

static java.util.Map fromQueryString(java.lang.String queryString)

Takes a query string and returns the results as a map where the values are either a single entry or a list of values

static GrailsClass getConfiguredControllerForUrlMappingInfo(GrailsWebRequest webRequest, UrlMappingInfo info, UrlConverter urlConverterToUse, GrailsApplication grailsApplicationToUse)

static java.lang.String getFormatFromURI(java.lang.String uri)

Obtains the format from the URI.

static java.lang.String getFormatFromURI(java.lang.String uri, MimeType[] mimeTypes)

static java.lang.String getForwardURI(javax.servlet.http.HttpServletRequest request)

Obtains the forwardURI from the request, since Grails uses a forwarding technique for URL mappings.

static java.lang.String getRequestURIForGrailsDispatchURI(javax.servlet.http.HttpServletRequest request)

The Grails dispatch servlet maps URIs like /app/grails/example/index.dispatch.

static IncludedContent includeForUrl(java.lang.String includeUrl, javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response, java.util.Map model)

Includes the given URL returning the resulting content as a String

static IncludedContent includeForUrlMappingInfo(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response, UrlMappingInfo info, java.util.Map model)

Include whatever the given UrlMappingInfo maps to within the current response

static GrailsApplication lookupApplication(javax.servlet.ServletContext servletContext)

Looks up the GrailsApplication instance

static org.springframework.web.servlet.HandlerInterceptor[] lookupHandlerInterceptors(javax.servlet.ServletContext servletContext)

Looks up all of the HandlerInterceptor instances registered for the application

static UrlMappingsHolder lookupUrlMappings(javax.servlet.ServletContext servletContext)

Looks up the UrlMappingsHolder instance

static org.springframework.web.servlet.ViewResolver lookupViewResolver(javax.servlet.ServletContext servletContext)

static org.springframework.web.servlet.ViewResolver lookupViewResolver(org.springframework.context.ApplicationContext wac)

static org.springframework.web.context.request.WebRequestInterceptor[] lookupWebRequestInterceptors(javax.servlet.ServletContext servletContext)

Looks up all of the WebRequestInterceptor instances registered with the application

static org.springframework.web.servlet.View resolveView(javax.servlet.http.HttpServletRequest request, UrlMappingInfo info, java.lang.String viewName, org.springframework.web.servlet.ViewResolver viewResolver)

Resolves a view for the given view and UrlMappingInfo instance

static org.springframework.web.servlet.View resolveView(javax.servlet.http.HttpServletRequest request, java.lang.String viewName, java.lang.String controllerName, org.springframework.web.servlet.ViewResolver viewResolver)

Resolves a view for the given view name and controller name

static GrailsWebRequest retrieveGrailsWebRequest()

Returns the GrailsWebRequest associated with the current request.

static void storeGrailsWebRequest(GrailsWebRequest webRequest)

static java.lang.String toQueryString(java.util.Map params, java.lang.String encoding)

Converts the given params into a query string started with ?

static java.lang.String toQueryString(java.util.Map parameters)

Converts the given parameters to a query string using the default UTF-8 encoding

 
Methods inherited from class org.springframework.web.util.WebUtils
org.springframework.web.util.WebUtils#getTempDir(javax.servlet.ServletContext), org.springframework.web.util.WebUtils#getRealPath(javax.servlet.ServletContext, java.lang.String), org.springframework.web.util.WebUtils#getParametersStartingWith(javax.servlet.ServletRequest, java.lang.String), org.springframework.web.util.WebUtils#getNativeRequest(javax.servlet.ServletRequest, java.lang.Class), org.springframework.web.util.WebUtils#getCookie(javax.servlet.http.HttpServletRequest, java.lang.String), org.springframework.web.util.WebUtils#exposeForwardRequestAttributes(javax.servlet.http.HttpServletRequest), org.springframework.web.util.WebUtils#isIncludeRequest(javax.servlet.ServletRequest), org.springframework.web.util.WebUtils#getDefaultHtmlEscape(javax.servlet.ServletContext), org.springframework.web.util.WebUtils#isDefaultHtmlEscape(javax.servlet.ServletContext), org.springframework.web.util.WebUtils#clearErrorRequestAttributes(javax.servlet.http.HttpServletRequest), org.springframework.web.util.WebUtils#exposeErrorRequestAttributes(javax.servlet.http.HttpServletRequest, java.lang.Throwable, java.lang.String), org.springframework.web.util.WebUtils#getSessionId(javax.servlet.http.HttpServletRequest), org.springframework.web.util.WebUtils#getSessionMutex(javax.servlet.http.HttpSession), org.springframework.web.util.WebUtils#getNativeResponse(javax.servlet.ServletResponse, java.lang.Class), org.springframework.web.util.WebUtils#setWebAppRootSystemProperty(javax.servlet.ServletContext), org.springframework.web.util.WebUtils#removeWebAppRootSystemProperty(javax.servlet.ServletContext), org.springframework.web.util.WebUtils#getSessionAttribute(javax.servlet.http.HttpServletRequest, java.lang.String), org.springframework.web.util.WebUtils#getRequiredSessionAttribute(javax.servlet.http.HttpServletRequest, java.lang.String), org.springframework.web.util.WebUtils#setSessionAttribute(javax.servlet.http.HttpServletRequest, java.lang.String, java.lang.Object), org.springframework.web.util.WebUtils#getOrCreateSessionAttribute(javax.servlet.http.HttpSession, java.lang.String, java.lang.Class), org.springframework.web.util.WebUtils#exposeRequestAttributes(javax.servlet.ServletRequest, java.util.Map), org.springframework.web.util.WebUtils#hasSubmitParameter(javax.servlet.ServletRequest, java.lang.String), org.springframework.web.util.WebUtils#findParameterValue(javax.servlet.ServletRequest, java.lang.String), org.springframework.web.util.WebUtils#findParameterValue(java.util.Map, java.lang.String), org.springframework.web.util.WebUtils#getTargetPage(javax.servlet.ServletRequest, java.lang.String, int), org.springframework.web.util.WebUtils#extractFilenameFromUrlPath(java.lang.String), org.springframework.web.util.WebUtils#extractFullFilenameFromUrlPath(java.lang.String), org.springframework.web.util.WebUtils#wait(), org.springframework.web.util.WebUtils#wait(long, int), org.springframework.web.util.WebUtils#wait(long), org.springframework.web.util.WebUtils#equals(java.lang.Object), org.springframework.web.util.WebUtils#toString(), org.springframework.web.util.WebUtils#hashCode(), org.springframework.web.util.WebUtils#getClass(), org.springframework.web.util.WebUtils#notify(), org.springframework.web.util.WebUtils#notifyAll()
 
Methods inherited from class java.lang.Object
java.lang.Object#wait(), java.lang.Object#wait(long, int), java.lang.Object#wait(long), java.lang.Object#equals(java.lang.Object), java.lang.Object#toString(), java.lang.Object#hashCode(), java.lang.Object#getClass(), java.lang.Object#notify(), java.lang.Object#notifyAll()
 

Field Detail

DISPATCH_ACTION_PARAMETER

public static final java.lang.String DISPATCH_ACTION_PARAMETER


ENABLE_FILE_EXTENSIONS

public static final java.lang.String ENABLE_FILE_EXTENSIONS


SLASH

public static final char SLASH


 
Method Detail

areFileExtensionsEnabled

/**
public static boolean areFileExtensionsEnabled()
Returns the value of the "grails.mime.file.extensions" setting configured in COnfig.groovy
Returns:
true if file extensions are enabled


buildDispatchUrlForMapping

public static java.lang.String buildDispatchUrlForMapping(UrlMappingInfo info)
Constructs the URI to forward to using the given request and UrlMappingInfo instance
Parameters:
info - The UrlMappingInfo
Returns:
The URI to forward to


clearGrailsWebRequest

public static void clearGrailsWebRequest()


exposeIncludeRequestAttributes

public static void exposeIncludeRequestAttributes(javax.servlet.http.HttpServletRequest request)
Expose the current request URI and paths as javax.servlet.http.HttpServletRequest attributes under the keys defined in the Servlet 2.4 specification, for containers that implement 2.3 or an earlier version of the Servlet API: javax.servlet.forward.request_uri, javax.servlet.forward.context_path, javax.servlet.forward.servlet_path, javax.servlet.forward.path_info, javax.servlet.forward.query_string.

Does not override values if already present, to not cause conflicts with the attributes exposed by Servlet 2.4+ containers themselves.

Parameters:
request - current servlet request


forwardRequestForUrlMappingInfo

public static java.lang.String forwardRequestForUrlMappingInfo(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response, UrlMappingInfo info)
See Also:
WebUtils.forwardRequestForUrlMappingInfo


forwardRequestForUrlMappingInfo

@SuppressWarnings("rawtypes")
public static java.lang.String forwardRequestForUrlMappingInfo(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response, UrlMappingInfo info, java.util.Map model)
See Also:
forwardRequestForUrlMappingInfo(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse, org.codehaus.groovy.grails.web.mapping.UrlMappingInfo, java.util.Map, boolean)


forwardRequestForUrlMappingInfo

@SuppressWarnings({ "unchecked", "rawtypes" })
public static java.lang.String forwardRequestForUrlMappingInfo(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response, UrlMappingInfo info, java.util.Map model, boolean includeParams)
Forwards a request for the given UrlMappingInfo object and model
throws:
ServletException Thrown when an error occurs executing the forward
throws:
IOException Thrown when an error occurs executing the forward
Parameters:
request - The request
response - The response
info - The UrlMappingInfo object
model - The Model
includeParams - Whether to include any request parameters
Returns:
The URI forwarded too


fromQueryString

String[] pairs = queryString.split("&");
public static java.util.Map fromQueryString(java.lang.String queryString)
Takes a query string and returns the results as a map where the values are either a single entry or a list of values
Parameters:
queryString - The query String
Returns:
A map


getConfiguredControllerForUrlMappingInfo

public static GrailsClass getConfiguredControllerForUrlMappingInfo(GrailsWebRequest webRequest, UrlMappingInfo info, UrlConverter urlConverterToUse, GrailsApplication grailsApplicationToUse)


getFormatFromURI

public static java.lang.String getFormatFromURI(java.lang.String uri)
Obtains the format from the URI. The format is the string following the . file extension in the last token of the URI. If nothing comes after the ".", this method assumes that there is no format and returns null.
Parameters:
uri - The URI
Returns:
The format or null if none


getFormatFromURI

public static java.lang.String getFormatFromURI(java.lang.String uri, MimeType[] mimeTypes)


getForwardURI

public static java.lang.String getForwardURI(javax.servlet.http.HttpServletRequest request)
Obtains the forwardURI from the request, since Grails uses a forwarding technique for URL mappings. The actual request URI is held within a request attribute
Parameters:
request - The request
Returns:
The forward URI


getRequestURIForGrailsDispatchURI

public static java.lang.String getRequestURIForGrailsDispatchURI(javax.servlet.http.HttpServletRequest request)
The Grails dispatch servlet maps URIs like /app/grails/example/index.dispatch. This method infers the controller URI for the dispatch URI so that /app/grails/example/index.dispatch becomes /app/example/index
Parameters:
request - The request


includeForUrl

response = wrapped != null ? wrapped : response;
public static IncludedContent includeForUrl(java.lang.String includeUrl, javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response, java.util.Map model)
Includes the given URL returning the resulting content as a String
Parameters:
includeUrl - The URL to include
request - The request
response - The response
model - The model
Returns:
The content


includeForUrlMappingInfo

final GrailsWebRequest webRequest = GrailsWebRequest.lookup(request);
public static IncludedContent includeForUrlMappingInfo(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response, UrlMappingInfo info, java.util.Map model)
Include whatever the given UrlMappingInfo maps to within the current response
Parameters:
request - The request
response - The response
info - The UrlMappingInfo
model - The model
Returns:
The included content


lookupApplication

public static GrailsApplication lookupApplication(javax.servlet.ServletContext servletContext)
Looks up the GrailsApplication instance
Returns:
The GrailsApplication instance


lookupHandlerInterceptors

public static org.springframework.web.servlet.HandlerInterceptor[] lookupHandlerInterceptors(javax.servlet.ServletContext servletContext)
Looks up all of the HandlerInterceptor instances registered for the application
Parameters:
servletContext - The ServletContext instance
Returns:
An array of HandlerInterceptor instances


lookupUrlMappings

public static UrlMappingsHolder lookupUrlMappings(javax.servlet.ServletContext servletContext)
Looks up the UrlMappingsHolder instance
Parameters:
servletContext - The ServletContext object
Returns:
The UrlMappingsHolder


lookupViewResolver

public static org.springframework.web.servlet.ViewResolver lookupViewResolver(javax.servlet.ServletContext servletContext)


lookupViewResolver

public static org.springframework.web.servlet.ViewResolver lookupViewResolver(org.springframework.context.ApplicationContext wac)


lookupWebRequestInterceptors

public static org.springframework.web.context.request.WebRequestInterceptor[] lookupWebRequestInterceptors(javax.servlet.ServletContext servletContext)
Looks up all of the WebRequestInterceptor instances registered with the application
Parameters:
servletContext - The ServletContext instance
Returns:
An array of WebRequestInterceptor instances


resolveView

public static org.springframework.web.servlet.View resolveView(javax.servlet.http.HttpServletRequest request, UrlMappingInfo info, java.lang.String viewName, org.springframework.web.servlet.ViewResolver viewResolver)
Resolves a view for the given view and UrlMappingInfo instance
throws:
Exception
Parameters:
request - The request
info - The info
viewName - The view name
viewResolver - The view resolver
Returns:
The view or null


resolveView

public static org.springframework.web.servlet.View resolveView(javax.servlet.http.HttpServletRequest request, java.lang.String viewName, java.lang.String controllerName, org.springframework.web.servlet.ViewResolver viewResolver)
Resolves a view for the given view name and controller name
throws:
Exception Thrown if an error occurs
Parameters:
request - The request
viewName - The view name
controllerName - The controller name
viewResolver - The resolver
Returns:
A View or null


retrieveGrailsWebRequest

public static GrailsWebRequest retrieveGrailsWebRequest()
Returns the GrailsWebRequest associated with the current request. This is the preferred means of accessing the GrailsWebRequest instance. If the exception is undesired, you can use RequestContextHolder.getRequestAttributes() instead.
throws:
IllegalStateException if this is called outside of a request.


storeGrailsWebRequest

public static void storeGrailsWebRequest(GrailsWebRequest webRequest)


toQueryString

Map.Entry entry = (Map.Entry) i.next();
public static java.lang.String toQueryString(java.util.Map params, java.lang.String encoding)
Converts the given params into a query string started with ?
throws:
UnsupportedEncodingException If the given encoding is not supported
Parameters:
params - The params
encoding - The encoding to use
Returns:
The query string


toQueryString

private static boolean appendEntry(Map.Entry entry, StringBuilder queryString, String encoding, String path) throws UnsupportedEncodingException {
public static java.lang.String toQueryString(java.util.Map parameters)
Converts the given parameters to a query string using the default UTF-8 encoding
throws:
UnsupportedEncodingException If UTF-8 encoding is not supported
Parameters:
parameters - The parameters
Returns:
The query string


 

Groovy Documentation