Class UrlFilenameViewController
java.lang.Object
org.springframework.context.support.ApplicationObjectSupport
org.springframework.web.context.support.WebApplicationObjectSupport
org.springframework.web.servlet.support.WebContentGenerator
org.springframework.web.servlet.mvc.AbstractController
org.springframework.web.servlet.mvc.AbstractUrlViewController
org.springframework.web.servlet.mvc.UrlFilenameViewController
- All Implemented Interfaces:
Aware
,ApplicationContextAware
,ServletContextAware
,Controller
Simple
Controller
implementation that transforms the virtual
path of a URL into a view name and returns that view.
Can optionally prepend a prefix
and/or append a
suffix
to build the viewname from the URL filename.
Find some examples below:
"/index" -> "index"
"/index.html" -> "index"
"/index.html"
+ prefix"pre_"
and suffix"_suf" -> "pre_index_suf"
"/products/view.html" -> "products/view"
Thanks to David Barri for suggesting prefix/suffix support!
- Author:
- Alef Arendsen, Juergen Hoeller, Rob Harrop
- See Also:
-
Field Summary
Fields inherited from class org.springframework.web.servlet.support.WebContentGenerator
HEADER_CACHE_CONTROL, METHOD_GET, METHOD_HEAD, METHOD_POST
Fields inherited from class org.springframework.context.support.ApplicationObjectSupport
logger
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionprotected String
extractOperableUrl
(HttpServletRequest request) Extract a URL path from the given request, suitable for view name extraction.protected String
Extract the URL filename from the given request URI.protected String
Return the prefix to prepend to the request URL filename.protected String
Return the suffix to append to the request URL filename.protected String
getViewNameForRequest
(HttpServletRequest request) Returns view name based on the URL filename, with prefix/suffix applied when appropriate.protected String
Returns view name based on the URL filename, with prefix/suffix applied when appropriate.protected String
postProcessViewName
(String viewName) Build the full view name based on the given view name as indicated by the URL path.void
Set the prefix to prepend to the request URL filename to build a view name.void
Set the suffix to append to the request URL filename to build a view name.Methods inherited from class org.springframework.web.servlet.mvc.AbstractUrlViewController
getUrlPathHelper, handleRequestInternal, setAlwaysUseFullPath, setRemoveSemicolonContent, setUrlDecode, setUrlPathHelper
Methods inherited from class org.springframework.web.servlet.mvc.AbstractController
handleRequest, isSynchronizeOnSession, setSynchronizeOnSession
Methods inherited from class org.springframework.web.servlet.support.WebContentGenerator
applyCacheControl, applyCacheSeconds, applyCacheSeconds, cacheForSeconds, cacheForSeconds, checkAndPrepare, checkRequest, getAllowHeader, getCacheControl, getCacheSeconds, getSupportedMethods, getVaryByRequestHeaders, isAlwaysMustRevalidate, isRequireSession, isUseCacheControlHeader, isUseCacheControlNoStore, isUseExpiresHeader, prepareResponse, preventCaching, setAlwaysMustRevalidate, setCacheControl, setCacheSeconds, setRequireSession, setSupportedMethods, setUseCacheControlHeader, setUseCacheControlNoStore, setUseExpiresHeader, setVaryByRequestHeaders
Methods inherited from class org.springframework.web.context.support.WebApplicationObjectSupport
getServletContext, getTempDir, getWebApplicationContext, initApplicationContext, initServletContext, isContextRequired, setServletContext
Methods inherited from class org.springframework.context.support.ApplicationObjectSupport
getApplicationContext, getMessageSourceAccessor, initApplicationContext, obtainApplicationContext, requiredContextClass, setApplicationContext
-
Constructor Details
-
UrlFilenameViewController
public UrlFilenameViewController()
-
-
Method Details
-
setPrefix
Set the prefix to prepend to the request URL filename to build a view name. -
getPrefix
Return the prefix to prepend to the request URL filename. -
setSuffix
Set the suffix to append to the request URL filename to build a view name. -
getSuffix
Return the suffix to append to the request URL filename. -
getViewNameForRequest
Returns view name based on the URL filename, with prefix/suffix applied when appropriate.- Specified by:
getViewNameForRequest
in classAbstractUrlViewController
- Parameters:
request
- current HTTP request- Returns:
- a view name for this request (never
null
) - See Also:
-
extractOperableUrl
Extract a URL path from the given request, suitable for view name extraction.- Parameters:
request
- current HTTP request- Returns:
- the URL to use for view name extraction
-
getViewNameForUrlPath
Returns view name based on the URL filename, with prefix/suffix applied when appropriate.- Parameters:
uri
- the request URI; for example"/index.html"
- Returns:
- the extracted URI filename; for example
"index"
- See Also:
-
extractViewNameFromUrlPath
Extract the URL filename from the given request URI.- Parameters:
uri
- the request URI; for example"/index.html"
- Returns:
- the extracted URI filename; for example
"index"
-
postProcessViewName
Build the full view name based on the given view name as indicated by the URL path.The default implementation simply applies prefix and suffix. This can be overridden, for example, to manipulate upper case / lower case, etc.
- Parameters:
viewName
- the original view name, as indicated by the URL path- Returns:
- the full view name to use
- See Also:
-