编程语言
首页 > 编程语言> > java-如何使Wicket 7可缓存图像?

java-如何使Wicket 7可缓存图像?

作者:互联网

我在文件系统和数据库中都有png文件.所以我尝试使用

ByteArrayResource

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

&antiCache=123456789

因此,在我看来,ByteArrayResource只能使用一次,并且即使页面仅被刷新也必须重新加载.接下来我尝试了

PackageResource

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

setCachingEnable( true );

同样,“ PackageResource”不能使用数据库中的png数据.

解决方法:

仅在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假定必须重新绘制图像,因此它将修改URL.
您可以重写此方法并抑制此行为.

标签:caching,wicket,java
来源: https://codeday.me/bug/20191118/2025450.html