GWT:在响应中发送csv文件时,响应未返回onSubmitComplete
我试图从servlet中获取响应,该servlet本质上是一个“.csv”文件。 我将一个文件上传到服务器,解析它,读取它,然后如果文件中有任何错误,我将其写入CSV文件,并将其发送回服务器。但是,似乎这种反应永远不会在提交时得到回复。 这是我的密码GWT:在响应中发送csv文件时,响应未返回onSubmitComplete,gwt,csv,download,httpresponse,Gwt,Csv,Download,Httpresponse,我试图从servlet中获取响应,该servlet本质上是一个“.csv”文件。 我将一个文件上传到服务器,解析它,读取它,然后如果文件中有任何错误,我将其写入CSV文件,并将其发送回服务器。但是,似乎这种反应永远不会在提交时得到回复。 这是我的密码 if (!errorContents.isEmpty()) { CSVWriter csv = null; try{
if (!errorContents.isEmpty()) {
CSVWriter csv = null;
try{
String filename = "errorList.csv";
resp.setContentType("text/plain");
resp.setHeader("Content-Disposition", "attachment; filename=\"" + filename + "\"");
csv = new CSVWriter(new OutputStreamWriter(resp.getOutputStream()));
for (String[] row : errorContents) {
csv.writeNext(row);
}
}finally {
csv.close();
}
} else {
resp.setContentType("text/plain");
resp.getWriter().write("Successful Processing");
}
现在,客户端控制器上的代码
formPanel.addSubmitCompleteHandler(new FormPanel.SubmitCompleteHandler() {
@Override
public void onSubmitComplete(FormPanel.SubmitCompleteEvent event) {
controller.reloadAll();
com.google.gwt.user.client.Window.alert(event.getResults().toString());
hideContentDiv();
// loading.hide();
}
许多浏览器只有在返回text/html时才会触发该事件。
这是一个已知的怪癖,有文档记录()我也使用了text/html和application/csv。但似乎什么都不管用。响应没有返回到页面。事实上是的。错误文件在客户端下载,但我重新加载了页面,以便在文件到达客户端后查看更改。我做了很多思考。我确实完全用另一种方式解决了这个问题,所以对我来说效果很好。-非常感谢。@RohanDmello你能分享一下你的解决方案吗?