Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/tfs/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Html Wicket—添加静态资源的最佳方式_Html_Wicket - Fatal编程技术网

Html Wicket—添加静态资源的最佳方式

Html Wicket—添加静态资源的最佳方式,html,wicket,Html,Wicket,在Wicket应用程序中,我们可以使用以下标准HTML方式指定标记中资源的URL: <script type="text/javascript" src="js/jquery-1.11.3.min.js"></script> @Override public void renderHead(IHeaderResponse response) { String contextPath = WebApplication.get().getServletContex

在Wicket应用程序中,我们可以使用以下标准HTML方式指定标记中资源的URL:

<script type="text/javascript" src="js/jquery-1.11.3.min.js"></script>
@Override
public void renderHead(IHeaderResponse response) {

    String contextPath = WebApplication.get().getServletContext().getContextPath();
    UrlResourceReference urlResourceReference = new UrlResourceReference(Url.parse(contextPath
            + "/js/jquery-1.11.3.min.js"));

    response.render(JavaScriptHeaderItem.forReference(urlResourceReference));

    super.renderHead(response);
}

最后,我们在html代码中有相同的
标记,在第二种方法中,我们只能将资源添加到
部分。那么,使用wickey方式添加资源有什么特别的原因吗?

可能有更多的原因,但我喜欢以下一个:

引用“Wicket 6的新功能”:

此外,PackageResourceReference及其专门化可以 提供其资源的缩小版本(如果可用)。对于 通过使用
newJavaScriptResourceReference(MyComponent.class,“my.js”)
Wicket将在开发模式下交付
my.js
,但是 在生产模式下交付
my.min.js
,如果在同一模式下可用 文件夹

离题:

Wicket还对很多事情使用jQuery。确保你没有将不同的诗句组合在一起。

可能有更多的原因,但我喜欢以下一个:

引用“Wicket 6的新功能”:

此外,PackageResourceReference及其专门化可以 提供其资源的缩小版本(如果可用)。对于 通过使用
newJavaScriptResourceReference(MyComponent.class,“my.js”)
Wicket将在开发模式下交付
my.js
,但是 在生产模式下交付
my.min.js
,如果在同一模式下可用 文件夹

离题:
Wicket还对很多事情使用jQuery。确保您没有合并不同的版本。

我们这样做是因为:

TL;博士

开发中每次重新部署都会刷新样式和脚本。在生产中客户在进行更改时获取。缓存工作正常

详细解释自:

正如您所看到的,Wicket已自动附加到文件名a 版本标识符(ver-1297887542000)。当Wicket跑进来的时候 开发模式此标识符包含以毫秒为单位的时间戳 指示上次修改资源文件的时间。这可能是 在开发应用程序和资源文件时非常有用 经常修改。将时间戳附加到原始名称 确保我们的浏览器将始终使用文件的最新版本 而不是旧的、过时的缓存版本

相反,Wicket在部署模式下运行时,版本 标识符将包含文件的MD5摘要,而不是 时间戳。仅在第一次使用资源时才计算摘要 请求。这完全有道理,因为静态资源不会改变 当我们的应用程序运行到生产环境和 当这追加时,将重新部署应用程序

我们这样做是因为:

TL;博士

开发中每次重新部署都会刷新样式和脚本。在生产中客户在进行更改时获取。缓存工作正常

详细解释自:

正如您所看到的,Wicket已自动附加到文件名a 版本标识符(ver-1297887542000)。当Wicket跑进来的时候 开发模式此标识符包含以毫秒为单位的时间戳 指示上次修改资源文件的时间。这可能是 在开发应用程序和资源文件时非常有用 经常修改。将时间戳附加到原始名称 确保我们的浏览器将始终使用文件的最新版本 而不是旧的、过时的缓存版本

相反,Wicket在部署模式下运行时,版本 标识符将包含文件的MD5摘要,而不是 时间戳。仅在第一次使用资源时才计算摘要 请求。这完全有道理,因为静态资源不会改变 当我们的应用程序运行到生产环境和 当这追加时,将重新部署应用程序