页面的代码:
if(filesArray.length>0) { $.ajax({ type: "post", url: "****/****/sendFiles", //data:JSON.stringify(filesArray), data:{"filesArray":filesArray}, async: false, traditional: "true", dataType : "json", success: function(data) { //alert(data.code); if(data.code==100) { var info = data.extend;//可以通过extend中信息,详细展示controller中返回的结果
//返回信息的代码,略
alert("导入操作成功!"); } else if(data.code==200) {
var info = data.extend;//可以通过extend中信息,详细展示controller中返回的结果
//返回信息的代码,略
alert("导入失败!");
} }, error: function (data) { } }); } else { alert("There is not *** file witch is selected!") }
注意:traditional: "true", 必须有!!
java端的代码:
首先,先创建一个单独的java类,存放返回给前端的结果信息:
public class ReturnMsg { private int code; //返回100表示成功,200表示失败 private String msg; //返回提示信息 private Map<String,Object> extend = new HashMap<String,Object>(); //用户返回给浏览器的数据 public static ReturnMsg success() { ReturnMsg result = new ReturnMsg(); result.setCode(100); result.setMsg("处理成功"); return result; } public static ReturnMsg fail() { ReturnMsg result = new ReturnMsg(); result.setCode(200); result.setMsg("处理失败"); return result; } public ReturnMsg add(Map<String,Object> info) { this.setExtend(info); return this; } public String getMsg() { return msg; } public void setMsg(String msg) { this.msg = msg; } public int getCode() { return code; } public void setCode(int code) { this.code = code; } public Map<String,Object> getExtend() { return extend; } public void setExtend(Map<String,Object> extend) { this.extend = extend; } }
然后,在controller中创建相关函数,处理页面的请求
@RequestMapping({"sendFiles"}) @ResponseBody public ReturnMsg ImportSelectedCi(HttpServletRequest request, HttpServletResponse response,
@RequestParam String[] filesArray) throws IOException { String CFilePath = "****************"; System.out.println(FilePath); String importPath; Map<String,Object> res_info = new HashMap<String,Object>(); //用户返回给浏览器的数据 if(null!=filesArray) { for(int i=0;i<filesArray.length;i++){ importPath = CFilePath + filesArray[i]; try{ List<SmsGeoRegion> slist = new ArrayList<SmsGeoRegion>(); int result_int = cimeDao.readCFileByLines(importPath,slist); if(result_int==0) { //parsing info write into mysql int ret = cimeDao.writeToMysql(slist); String temp_key = "succ"+i; //记录导入成功的文件 res_info.put(temp_key,filesArray[i]); } else{ System.out.println("There are errors when parsing C File!"); res_info.put("error2",filesArray[i]+":c文件解析过程中出现问题!"); return ReturnMsg.fail().add(res_info); } }catch(Exception e){ //fail("Test file read failed!"); System.out.println("Test file read failed!"); res_info.put("error1",filesArray[i]+":c文件读取失败!"); return ReturnMsg.fail().add(res_info); } } return ReturnMsg.success().add(res_info); } res_info.put("error0","界面返回的c文件未找到!"); return ReturnMsg.fail().add(res_info); }