Excel Extjs和Spring成功处理程序
我正在用ExtJs和Spring构建web应用程序。我用ExtJs上传excel文件,用spring解析它。尽管我的ExtJs代码中的成功处理程序不起作用,但一切都很好。我读了很多关于这个的例子,但我仍然不能解决这个问题。我希望你们能帮助我 这是ExtJs上传文件功能:Excel Extjs和Spring成功处理程序,excel,spring,extjs,extjs4,Excel,Spring,Extjs,Extjs4,我正在用ExtJs和Spring构建web应用程序。我用ExtJs上传excel文件,用spring解析它。尽管我的ExtJs代码中的成功处理程序不起作用,但一切都很好。我读了很多关于这个的例子,但我仍然不能解决这个问题。我希望你们能帮助我 这是ExtJs上传文件功能: uploadFile: function(value, fld){ var me = this; var id = this.getTipasCombobox().getValue(); var reco
uploadFile: function(value, fld){
var me = this;
var id = this.getTipasCombobox().getValue();
var record = this.getTipasCombobox().getStore().getById(id);
var timeId = this.getLaikotarpiaiCombo().getValue();
var timeRecord = this.getLaikotarpiaiCombo().getStore().getById(timeId);
var fp = this.getUploadBtn().up('form').getForm();
if(fp.isValid()){
fp.submit({
url: Turtas.Properties.getServicePath()+'/save/' + record.data.resource,
waitMsg: 'Failas yra įkeliamas, prašome palaukti...',
success: function(){
console.log("Upload completed");
me.storeSelection(record.data.resource, timeRecord.data.open, timeRecord.data.year, true, me.restrictedPage())
}
})
}
},
这是我用来解析Excel的控制器函数:
@RequestMapping(value="turtas/save/gelezinkeliai", method=RequestMethod.POST)
public String saveGelezinkeliaiFromExcel(HttpServletResponse response, @RequestParam("file") MultipartFile file){
if (file.getSize() != 0){
ReadExcelFileToList excelFile = new ReadExcelFileToList();
List<Gelezinkeliai> gelezinkeliai = new ArrayList<Gelezinkeliai>();
gelezinkeliai = excelFile.readExcelData(/*fileName*/ file);
gelezinkeliai.remove(0);
Laikotarpis laikotarpis = new Laikotarpis();
laikotarpis = laikotarpiaiService.findById(2014);
for (GelezinkeliaiRest delGelezinkelis : service.getItems(2014, true, false)){
service.delete(delGelezinkelis);
}
List<Gelezinkeliai> finalGelezinkeliai = new ArrayList<Gelezinkeliai>();
for (Gelezinkeliai gelezinkelis : gelezinkeliai){
gelezinkelis.setLaikotarpis(laikotarpis);
finalGelezinkeliai.add(gelezinkelis);
GelezinkeliaiRest gelezinkeliaiRest = new GelezinkeliaiRest();
gelezinkeliaiRest.fromGelezinkeliai(gelezinkelis);
service.save(gelezinkeliaiRest, false);
}
response.setContentType("text/html");
return "{\"success\":true}";
}
else {
return "{\"success\":false}";
}
}
若我手动重新加载页面或存储,数据会更新,所以函数可以正常工作,但我希望在请求结束时捕获事件,以便自动重新加载存储。我不知道怎么了。感谢您提前回复 ExtJs代码中的成功处理程序不起作用-代码抛出异常、未执行或未执行预期的操作?最简单的调查方法是使用浏览器的开发工具:检查网络流量并在JS代码中设置断点。感谢您的回复。我想知道请求何时结束,因为那时我需要重新加载我的存储。成功处理程序将是一个伟大的解决方案。我不明白我做错了什么,因为我的成功处理程序没有反应。代码不会抛出异常,它会执行,它会做我期望它做的一切,我只想知道何时可以重新加载我的存储。
{"success":true}