在 gwt 中,如何导出 ArrayList<String> 并提示保存对话框供用户下载?

Posted

技术标签:

【中文标题】在 gwt 中,如何导出 ArrayList<String> 并提示保存对话框供用户下载?【英文标题】:in gwt, how to export a ArrayList<String> and prompt a save dialog for user download? 【发布时间】:2012-06-18 14:56:10 【问题描述】:

我尝试使用 GWT-RPC 调用 servlet 导出数据,为了简化案例,我只是尝试先对输出文本进行硬编码,在 RemoteServiceServlet 中使用以下代码

public void exportHistory(ArrayList<String> sqlHistory)
    this.sqlHistory = sqlHistory;
    try 
        HttpServletResponse res = this.getThreadLocalResponse();
        res.setContentType("text/plain");
        res.setHeader("Content-disposition", "attachment; filename=history.txt");
        ServletOutputStream out = res.getOutputStream();
        out.println("test1");
        out.println("test2");
        out.flush();
     catch (IOException e) 
        // TODO Auto-generated catch block
        e.printStackTrace();
    

但是它在asyncCallback中返回onFailure(Throwable catch),捕获的是InvocationException。 有什么问题?

【问题讨论】:

【参考方案1】:

尝试使用json 对象传递您的列表。

【讨论】:

以上是关于在 gwt 中,如何导出 ArrayList<String> 并提示保存对话框供用户下载?的主要内容,如果未能解决你的问题,请参考以下文章

在 GWT-RPC 中将 ArrayList 作为参数发送

当我使用 ArrayList 时,如何防止 GWT 尝试包含每个可序列化的类

检索数据时,带有 ArrayList<SomeClass> 的 gwt asyncCallback 失败

检索 ArrayList 时出现 GWT-RPC 无法解释的 500 状态错误

如何在 GWT 中将 JSONObject 转换为 .csv?

序列化为 GWT AutoBean 时如何保留 LinkedHashMap 的顺序?