首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从url中删除webjars版本

从url中删除webjars版本
EN

Stack Overflow用户
提问于 2016-02-21 13:38:14
回答 1查看 1.9K关注 0票数 5

我们在我们的项目中使用webjars和maven。因此,我们有数百个JSP,代码如下:

代码语言:javascript
复制
<%--JSP CODE--%>
<script src="<c:url value="/webjars/jquery/2.2.0/jquery.min.js" />" type="text/javascript"></script>
<script src="<c:url value="/webjars/bootstrap/3.3.6/js/bootstrap.min.js" />" type="text/javascript"></script>
......... 

正如您所猜到的,更新更新版本的webjars是一项繁琐的工作。因此,我正在寻找解决方案,它将允许我导入这样的脚本:

代码语言:javascript
复制
<%--JSP CODE--%>
<script src="<c:url value="/webjars/jquery/jquery.min.js" />" type="text/javascript"></script>
<script src="<c:url value="/webjars/bootstrap/js/bootstrap.min.js" />" type="text/javascript"></script>
......... 

基本上,我想从url中删除webjar版本。你能为这个问题提出好的简单的解决方案吗?

到目前为止,我提出了一个资源servlet,它可以猜测哪个文件要通过url返回。但是,这个解决方案需要在应用程序开始时进行完整的资源扫描。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-02-21 13:47:29

看看webjars-定位器项目,您可以使用它来创建适当的请求控制器。

如果使用Spring MVC,这将是:

代码语言:javascript
复制
@ResponseBody
@RequestMapping("/webjarslocator/{webjar}/**")
public ResponseEntity locateWebjarAsset(@PathVariable String webjar, HttpServletRequest request) {
    try {
        String mvcPrefix = "/webjarslocator/" + webjar + "/"; // This prefix must match the mapping path!
        String mvcPath = (String) request.getAttribute(HandlerMapping.PATH_WITHIN_HANDLER_MAPPING_ATTRIBUTE);
        String fullPath = assetLocator.getFullPath(webjar, mvcPath.substring(mvcPrefix.length()));
        return new ResponseEntity(new ClassPathResource(fullPath), HttpStatus.OK);
    } catch (Exception e) {
        return new ResponseEntity<>(HttpStatus.NOT_FOUND);
    }
}

免责声明:这是WebJars 文档 (Making dependencies version agnostic部分)的代码。

在本例中,您可以通过以下方式请求js库:

代码语言:javascript
复制
<link rel='stylesheet' href='/webjarslocator/bootstrap/css/bootstrap.min.css'>

请注意,这个网址中没有版本。

您也可以尝试通过使用缓存来优化这个请求(以及相应的文件系统扫描),但是我几乎可以肯定,webjars-locator中已经涉及到某种缓存(我还没有检查过)。

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35536836

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档