您不能使用ajax下载文件。
Ajax在Javascript
XMLHttpRequest对象执行的幕后。该请求将被成功执行,并且响应将被成功检索。但是,Javascript无法将响应写到客户端的磁盘文件系统,也不能对给定的响应进行“
另存为” 对话框。那将是一个巨大的安全漏洞。
您的具体问题的原因是ICEfaces本身。即,当您将ICEfaces集成到JSF
Web应用程序中时,所有标准
<h:commandXxx>链接/按钮都将默默地转换为启用了Ajax的链接/按钮,这确实在启动程序之间引起混淆。确保未使用ICEfaces引入的ajax工具隐式下载链接/按钮。按照他们在主题上的Wiki页面,您需要显式嵌套a
<f:ajax disabled="true">来禁用此功能。
禁用组件的Ajax
您还可以在单个组件级别禁用Ajax:
<h:commandButton value="Send" actionListener="#{bean.sendMessage}"> <f:ajax disabled="true"/></h:commandButton>
将其应用于您的下载链接/按钮。



