我知道如何创建一个简单的链接来下载任意二进制数据(使用ResourceLink
和ResourceStreamResource
和AbstractResourceStream
),但现在我想创建一个表单,其提交按钮应该是再次重定向到表单(例如,更正输入错误)或下载任意二进制数据文件而不转到不同的页面。如何实现这一目标?
答案 0 :(得分:1)
对于二进制部分,请尝试以下方法:
final ResourceStreamRequestHandler target = new ResourceStreamRequestHandler(new AbstractResourceStream() {
@Override
public String getContentType() {
return "application/octet-stream";
}
@Override
public InputStream getInputStream() throws ResourceStreamNotFoundException {
return new ByteArrayInputStream(yourBinaryContent);
}
@Override
public void close() throws IOException {
}
});
target.setFileName("response.dat");
target.setContentDisposition(ContentDisposition.ATTACHMENT);
getRequestCycle().scheduleRequestHandlerAfterCurrent(target);
否则,要处理“文本”回复,请使用您已有的代码。