【发布时间】:2012-03-29 03:29:38
【问题描述】:
我正在使用 BalusC 的 FileServlet 示例:
http://balusc.blogspot.com/2007/07/fileservlet.html
我能够让它工作,但是,我想在下载发生之前调用一个 bean 函数。有没有办法让它工作?我尝试了 a4j:support 并且我也尝试了 h:commandLink 但都没有成功。任何帮助表示赞赏!
【问题讨论】:
我正在使用 BalusC 的 FileServlet 示例:
http://balusc.blogspot.com/2007/07/fileservlet.html
我能够让它工作,但是,我想在下载发生之前调用一个 bean 函数。有没有办法让它工作?我尝试了 a4j:support 并且我也尝试了 h:commandLink 但都没有成功。任何帮助表示赞赏!
【问题讨论】:
您可以改为在 bean 的操作方法中执行文件下载工作。对于一些具体示例,请参阅此答案:How to provide a file download from a JSF backing bean?
您只需要确保请求不是由 Ajax 发出的,因为负责处理 Ajax 请求的 JavaScript 语言没有任何工具来强制另存为出于安全原因的对话。因此,请为此使用普通的 <h:commandLink> 或 <h:commandButton>。
【讨论】:
<h:commandLink>。至于使用 servlet,有很多方法,但它不必要地过于复杂,因为您基本上需要单击发送 2 个 HTTP 请求,其中一个由 JavaScript 执行。
SEVERE: Error Loading Library: jar:file:/Users/Documents/workspace/.metadata/.plugins/org.eclipse.wst.server.core/tmp0/wtpwebapps/project/WEB-INF/lib/trinidad-impl-2.0.1.jar!/META-INF/tr.taglib.xml 有没有关于此的综合示例?
<h:commandLink>。