我已将 wicket 1.x 迁移到 wicket 8.x。
我在下面添加了用于 excel 文件下载的代码,但在 excel 下载的所有其他页面中获取了第一个下载的文件。
ResourceLink<Object> excelLink = new ResourceLink<>("excel", new ResourceReference("downloadExcel") {
private static final long serialVersionUID = 1L;
@Override
public IResource getResource() {
byte [] exBytes = null;
try {
exBytes = new byte[0]; // Some excel file into byte format
} catch (Exception e) {
e.printStackTrace();
}
return new ByteArrayResource(fileFormat.getContextType(), exBytes, fileName);
}
});
excelLink.setOutputMarkupId(true);
excelLink.add(new Label("excelLabel", new ResourceModel("excelLabel")));
return excelLink;
我在所有其他页面中使用相同的 excel 下载逻辑,在应用程序中所有页面中所有 Excel 文件的名称相同的所有页面中具有相同的 ResourceLink Id“excel”。
如果它正在维护缓存,那么如何清除缓存以在每个页面中下载正确的 excel 文件?
请让我知道是否有人可以帮助我解决此问题,这将更加明显。