public class WebJarsResourceResolver extends AbstractResourceResolver
ResourceResolver
that delegates to the chain to locate a resource and then
attempts to find a matching versioned resource contained in a WebJar JAR file.
This allows WebJars.org users to write version agnostic paths in their templates,
like <script src="/jquery/jquery.min.js"/>
.
This path will be resolved to the unique version <script src="/jquery/1.2.0/jquery.min.js"/>
,
which is a better fit for HTTP caching and version management in applications.
This also resolves resources for version agnostic HTTP requests "GET /jquery/jquery.min.js"
.
This resolver requires the "org.webjars:webjars-locator" library on classpath, and is automatically registered if that library is present.
ResourceChainRegistration
,
webjars.orgModifier and Type | Field and Description |
---|---|
private WebJarAssetLocator |
webJarAssetLocator |
private static java.lang.String |
WEBJARS_LOCATION |
private static int |
WEBJARS_LOCATION_LENGTH |
logger
Constructor and Description |
---|
WebJarsResourceResolver()
Create a
WebJarsResourceResolver with a default WebJarAssetLocator instance. |
WebJarsResourceResolver(WebJarAssetLocator webJarAssetLocator)
Create a
WebJarsResourceResolver with a custom WebJarAssetLocator instance,
e.g. |
Modifier and Type | Method and Description |
---|---|
protected java.lang.String |
findWebJarResourcePath(java.lang.String path) |
protected Resource |
resolveResourceInternal(HttpServletRequest request,
java.lang.String requestPath,
java.util.List<? extends Resource> locations,
ResourceResolverChain chain) |
protected java.lang.String |
resolveUrlPathInternal(java.lang.String resourceUrlPath,
java.util.List<? extends Resource> locations,
ResourceResolverChain chain) |
resolveResource, resolveUrlPath
private static final java.lang.String WEBJARS_LOCATION
private static final int WEBJARS_LOCATION_LENGTH
private final WebJarAssetLocator webJarAssetLocator
public WebJarsResourceResolver()
WebJarsResourceResolver
with a default WebJarAssetLocator
instance.public WebJarsResourceResolver(WebJarAssetLocator webJarAssetLocator)
WebJarsResourceResolver
with a custom WebJarAssetLocator
instance,
e.g. with a custom index.protected Resource resolveResourceInternal(HttpServletRequest request, java.lang.String requestPath, java.util.List<? extends Resource> locations, ResourceResolverChain chain)
resolveResourceInternal
in class AbstractResourceResolver
protected java.lang.String resolveUrlPathInternal(java.lang.String resourceUrlPath, java.util.List<? extends Resource> locations, ResourceResolverChain chain)
resolveUrlPathInternal
in class AbstractResourceResolver
protected java.lang.String findWebJarResourcePath(java.lang.String path)