嗨,我对那些花哨的网络技术还很陌生,对这些花哨的网络技术缺乏经验,很抱歉这个可能很愚蠢的问题。我有一个 GWT 应用程序
- 在服务器端生成一个excel表,
- 将其存储在定义的位置
- 应在导出并保存到服务器后触发下载创建的文件。
到目前为止,一切都按预期工作,我现在唯一的问题是我无法终生找到正确触发文件下载的方法。
下载本身由一个 servlet 处理,这个主题很好地涵盖了这里的各种问题。到目前为止,我发现的所有问题都遗漏了:“我如何在不丢失 GWT 状态或不打开令人讨厌的新窗口的情况下‘调用/触发/任何东西’该 servlet?”。
以下片段在理论上有效,但在我看来不是一个有效的选择。
String url = GWT.getHostPageBaseURL() + MyExport.SERVLET_URL_PATTERN + "?" + MyExport.FILENAME + "=" + result.getFileName();
// After this call my GWT state is lost
Window.Location.assign(url);
// obstrusive pop-up that is blocked by most browsers anyway
Window.open(url, "NameOfNewWindow", "resizable,scrollbars,status");
我尝试在我的演示者类中设置这些调用可能会很有趣。如果我没有找到正确的问题并且这是重复的,请提前抱歉,我将继续搜索并发布我找到的所有内容。