public class UrlFilenameViewController extends AbstractUrlViewController
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 below some examples:
"/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!
setPrefix(java.lang.String),
setSuffix(java.lang.String)METHOD_GET, METHOD_HEAD, METHOD_POSTlogger| Constructor and Description |
|---|
UrlFilenameViewController() |
| Modifier and Type | Method and Description |
|---|---|
protected String |
extractOperableUrl(HttpServletRequest request)
Extract a URL path from the given request,
suitable for view name extraction.
|
protected String |
extractViewNameFromUrlPath(String uri)
Extract the URL filename from the given request URI.
|
protected String |
getPrefix()
Return the prefix to prepend to the request URL filename.
|
protected String |
getSuffix()
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 |
getViewNameForUrlPath(String uri)
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 |
setPrefix(String prefix)
Set the prefix to prepend to the request URL filename
to build a view name.
|
void |
setSuffix(String suffix)
Set the suffix to append to the request URL filename
to build a view name.
|
getUrlPathHelper, handleRequestInternal, setAlwaysUseFullPath, setRemoveSemicolonContent, setUrlDecode, setUrlPathHelperhandleRequest, isSynchronizeOnSession, setSynchronizeOnSessionapplyCacheSeconds, applyCacheSeconds, cacheForSeconds, cacheForSeconds, checkAndPrepare, checkAndPrepare, getCacheSeconds, getSupportedMethods, isAlwaysMustRevalidate, isRequireSession, isUseCacheControlHeader, isUseCacheControlNoStore, isUseExpiresHeader, preventCaching, setAlwaysMustRevalidate, setCacheSeconds, setRequireSession, setSupportedMethods, setUseCacheControlHeader, setUseCacheControlNoStore, setUseExpiresHeadergetServletContext, getTempDir, getWebApplicationContext, initApplicationContext, initServletContext, isContextRequired, setServletContextgetApplicationContext, getMessageSourceAccessor, initApplicationContext, requiredContextClass, setApplicationContextpublic void setPrefix(String prefix)
protected String getPrefix()
public void setSuffix(String suffix)
protected String getSuffix()
protected String getViewNameForRequest(HttpServletRequest request)
getViewNameForRequest in class AbstractUrlViewControllerrequest - current HTTP requestnull)extractViewNameFromUrlPath(java.lang.String),
setPrefix(java.lang.String),
setSuffix(java.lang.String)protected String extractOperableUrl(HttpServletRequest request)
request - current HTTP requestprotected String getViewNameForUrlPath(String uri)
uri - the request URI; for example "/index.html""index"extractViewNameFromUrlPath(java.lang.String),
postProcessViewName(java.lang.String)protected String extractViewNameFromUrlPath(String uri)
uri - the request URI; for example "/index.html""index"protected String postProcessViewName(String viewName)
The default implementation simply applies prefix and suffix. This can be overridden, for example, to manipulate upper case / lower case, etc.
viewName - the original view name, as indicated by the URL pathgetPrefix(),
getSuffix()