如何使用Wicket 7使图像可缓存?

时间:2016-10-10 16:15:02

标签: java caching wicket

我在文件系统和数据库中都有png文件。所以我试着用

  

使用ByteArrayResource

仅显示图像一次。浏览器刷新仅显示图像占位符。图片网址附加了一个参数:

  

&安培; antiCache = 123456789

所以ByteArrayResource看起来像我只能使用一次,即使页面只获得refresehd也必须重新加载。接下来我试了

  

PackageResource

在浏览器中显示图像(即使刷新后),但也呈现“antiCache”参数。即使在明确调用

之后也会发生这种情况
setCachingEnable( true );

“PackageResource”也不能使用我的数据库中的png数据。

1 个答案:

答案 0 :(得分:3)

仅在Ajax响应中添加antiCache参数。如果您在Ajax响应中添加图像(https://github.com/apache/wicket/blob/70606d73e9165d37c1d8b7c7820279fb4be18770/wicket-core/src/main/java/org/apache/wicket/markup/html/image/Image.java#L543),那么Wicket会假定它必须重新绘制,因此它会修改网址。 您可以覆盖此方法并禁止此行为。