0

我有一个应用程序,我必须在其中生成 XMl、XSD 和 Excel 文件。我会将所有内容打包成一个 zip 文件。我的应用程序使用 GWT、Spring 和 JPA 开发。要执行下载功能,我在 html 页面中使用了 iframe

<iframe src="javascript:''" id="__gwt_downloadFrame" tabIndex='-1'
    style="position: absolute; width: 0; height: 0; border: 0"></iframe>

然后我使用 GWT formpanel 将请求提交给 Servlet,后者实际上将请求发送到后端。

为了生成 Excel,我使用 Jxl(JEXCEL) API 生成 XML,我使用 StringBuffer 准备内容然后将其转换为字节。然后添加它的zip。为了生成 XSD,我使用了 ByteArrayOutputStream,然后将其添加到 zip。

如果我只选择 Excel,我可以立即下载文件。

背景此servelt请求线程正在运行,但一段时间后可能会在浏览器Javascript控制台中看到以下错误:

POST http://inhydsrapolu1.abc.com:9581/export/Export/exportUtility :9581/boddesk/BodDesk/exportUtility:1 阻止具有源“ http://inhydsrapolu1.infor.com:9581 ”的框架访问框架原产地“空”。请求访问的帧具有“http”协议,被访问的帧具有“数据”协议。协议必须匹配

请帮助我

谢谢,萨丽莎。

4

1 回答 1

2

这是一项安全功能。IFRAME 中的 URL 与您的页面的来源不同,这限制了您的页面对其数据的访问。在此处阅读更多信息:http ://en.wikipedia.org/wiki/Same-origin_policy 。

于 2013-08-29T13:47:46.390 回答