EXTJS和javastruts导出csv文件
我想制作一个csv文件,让用户点击按钮下载。 有一个表单可以搜索用户(带有一些搜索字段)和按钮搜索:这是搜索用户并在网格中显示他们。 在表单之后,有一个链接“导出到csv”,这个链接必须获取表单字段值,将其传递给Java(struts),然后Java构造一个csv文件(与网格不同,它更复杂,许多表中的值)并将其返回到extjs,之后,我想将其交给用户,让他下载。回应。responseText包含要导出的良好csv,但它太大,无法执行编码URI:(
我无法提议下载该文件。有人知道吗(
以下是我目前所做的源代码:
var params = Ext.getCmp("userSearchEngine").getForm().getValues(false);
Ext.Ajax.request({
url : cmts.server + 'exportToCSV.do',
method: 'POST',
headers: { 'Content-Type': 'text/csv'},
params : params,
success: function ( response, request ) {
console.log('success');
console.log(response.responseText);
},
failure: function ( response, request ) {
console.log('FAIL !');
}
});
谢谢你的帮助:)
编辑:Java部件写入响应的outputstream
编辑2:由于某些限制,我无法在服务器端创建文件
# 1 楼答案
对于下载文件,您可以尝试表单提交
在serverside-java中:
# 2 楼答案
我使用这种方法:
部分示例:
ExtJS部分-字段容器:
ExtJS-AJAX请求:
来自服务器的有效JSON: