Взгляните на ZipResourceStream
. С помощью этого класса вы можете создавать zip-содержимое каталога на лету и использовать org.apache.wicket.markup.html.link.ResourceLink
с ResourceStreamResource
для ссылки на него.
File file = new File(path);
IResourceStream resStream = new ZipResourceStream(file);
ResourceStreamResource resource = new ResourceStreamResource(resStream);
ResourceLink link = new ResourceLink("link", resource);
add(link);
В качестве альтернативы, если вы предпочитаете архивировать файл с помощью другого инструмента, вы можете использовать DownloadLink
:
File zipFile = generateZipFile();
IModel fileModel = new Model(zipFile);
add(new DownloadLink("dllink", fileModel);
Если вы предпочитаете создавать файл на лету в ссылке onClick ссылки, взгляните на этот вопрос: Как использовать DownloadLink от Wicket с файлом, сгенерированным на лету?