Class DefaultStaticContentLoader
- All Implemented Interfaces:
- StaticContentLoader
Default implementation to server static content
 This class is used to serve common static content needed when using various parts of Struts, such as JavaScript
 files, CSS files, etc. It works by looking for requests to uiStaticContentPath/*  and then mapping the value
 after to common packages in Struts and, optionally, in your class path. By default, the following packages are
 automatically searched:
 
- org.apache.struts2.static
- template
- static
 This means that you can simply request uiStaticContentPath/xhtml/styles.css and the XHTML UI theme's default stylesheet
 will be returned. Likewise, many of the AJAX UI components require various JavaScript files, which are found in the
 org.apache.struts2.static package. If you wish to add additional packages to be searched, you can add a comma
 separated (space, tab and new line will do as well) list in the filter init parameter named "packages". Be
 careful, however, to expose any packages that may have sensitive information, such as properties file with
 database access credentials.
 
- 
Nested Class SummaryNested classes/interfaces inherited from interface org.apache.struts2.dispatcher.StaticContentLoaderStaticContentLoader.Validator
- 
Field SummaryFieldsModifier and TypeFieldDescriptionprotected booleanprotected StringStore state of StrutsConstants.STRUTS_I18N_ENCODING setting.protected final CalendarProvide a formatted date for setting heading information when caching static content.Store set of path prefixes to use with static resources.protected booleanStore state of StrutsConstants.STRUTS_SERVE_STATIC_CONTENT setting.protected booleanStore state of StrutsConstants.STRUTS_SERVE_STATIC_BROWSER_CACHE setting.protected StringStore state ofStrutsConstants.STRUTS_UI_STATIC_CONTENT_PATHsetting.Fields inherited from interface org.apache.struts2.dispatcher.StaticContentLoaderDEFAULT_STATIC_CONTENT_PATH
- 
Constructor SummaryConstructors
- 
Method SummaryModifier and TypeMethodDescriptionprotected Stringbooleanprotected StringcleanupPath(String path) protected voidcopy(InputStream input, OutputStream output) Copy bytes from the input stream to the output stream.protected URLfindResource(String path) Look for a static resource in the classpath.voidfindStaticResource(String path, jakarta.servlet.http.HttpServletRequest request, jakarta.servlet.http.HttpServletResponse response) Locate a static resource and copy directly to the response, setting the appropriate caching headers.protected Stringprotected StringgetContentType(String name) Determine the content type for the resource name.Create a string array from a comma-delimited list of packages.protected voidprocess(InputStream is, String path, jakarta.servlet.http.HttpServletRequest request, jakarta.servlet.http.HttpServletResponse response) voidsetDevMode(String devMode) voidsetEncoding(String encoding) Modify state of StrutsConstants.STRUTS_I18N_ENCODING setting.voidsetHostConfig(HostConfig filterConfig) voidsetServeStaticBrowserCache(String serveStaticBrowserCache) Modify state of StrutsConstants.STRUTS_SERVE_STATIC_BROWSER_CACHE setting.voidsetServeStaticContent(String serveStaticContent) Modify state of StrutsConstants.STRUTS_SERVE_STATIC_CONTENT setting.voidsetStaticContentPath(String uiStaticContentPath) 
- 
Field Details- 
pathPrefixesStore set of path prefixes to use with static resources.
- 
serveStaticprotected boolean serveStaticStore state of StrutsConstants.STRUTS_SERVE_STATIC_CONTENT setting.
- 
uiStaticContentPathStore state ofStrutsConstants.STRUTS_UI_STATIC_CONTENT_PATHsetting.
- 
serveStaticBrowserCacheprotected boolean serveStaticBrowserCacheStore state of StrutsConstants.STRUTS_SERVE_STATIC_BROWSER_CACHE setting.
- 
lastModifiedCalProvide a formatted date for setting heading information when caching static content.
- 
encodingStore state of StrutsConstants.STRUTS_I18N_ENCODING setting.
- 
devModeprotected boolean devMode
 
- 
- 
Constructor Details- 
DefaultStaticContentLoaderpublic DefaultStaticContentLoader()
 
- 
- 
Method Details- 
setServeStaticContentModify state of StrutsConstants.STRUTS_SERVE_STATIC_CONTENT setting.- Parameters:
- serveStaticContent- New setting
 
- 
setStaticContentPath
- 
setServeStaticBrowserCacheModify state of StrutsConstants.STRUTS_SERVE_STATIC_BROWSER_CACHE setting.- Parameters:
- serveStaticBrowserCache- New setting
 
- 
setEncodingModify state of StrutsConstants.STRUTS_I18N_ENCODING setting.- Parameters:
- encoding- New setting
 
- 
setDevMode
- 
setHostConfig- Specified by:
- setHostConfigin interface- StaticContentLoader
- Parameters:
- filterConfig- The filter configuration
 
- 
getAdditionalPackages
- 
parseCreate a string array from a comma-delimited list of packages.- Parameters:
- packages- A comma-delimited String listing packages
- Returns:
- A string array of packages
 
- 
findStaticResourcepublic void findStaticResource(String path, jakarta.servlet.http.HttpServletRequest request, jakarta.servlet.http.HttpServletResponse response) throws IOException Description copied from interface:StaticContentLoaderLocate a static resource and copy directly to the response, setting the appropriate caching headers.- Specified by:
- findStaticResourcein interface- StaticContentLoader
- Parameters:
- path- The resource name
- request- The request
- response- The response
- Throws:
- IOException- If anything goes wrong
 
- 
processprotected void process(InputStream is, String path, jakarta.servlet.http.HttpServletRequest request, jakarta.servlet.http.HttpServletResponse response) throws IOException - Throws:
- IOException
 
- 
findResourceLook for a static resource in the classpath.- Parameters:
- path- The resource path
- Returns:
- The URL of the resource
- Throws:
- IOException- If there is a problem locating the resource
 
- 
buildPath- Parameters:
- name- resource name
- packagePrefix- The package prefix to use to locate the resource
- Returns:
- full path
- Throws:
- UnsupportedEncodingException- If there is a encoding problem
 
- 
getContentTypeDetermine the content type for the resource name.- Parameters:
- name- The resource name
- Returns:
- The mime type
 
- 
copyCopy bytes from the input stream to the output stream.- Parameters:
- input- The input stream
- output- The output stream
- Throws:
- IOException- If anything goes wrong
 
- 
canHandle- Specified by:
- canHandlein interface- StaticContentLoader
- Parameters:
- resourcePath- Requested resource path
- Returns:
- true if this loader is able to load this type of resource, false otherwise
 
- 
cleanupPath- Parameters:
- path- requested path
- Returns:
- path without leading uiStaticContentPath
 
 
-