关注JEECG发展历程 关注最新动态和版本, 记录JEECG成长点滴 更新日志 - 技术支持 - 招聘英才

JEECG最新版本下载 JEECG智能开发平台 - 显著提高开发效率 常见问题 - 入门视频 - 参与开源团队

商务QQ: 69893005、418799587 商务热线(5*8小时): 010-64808099 官方邮箱: jeecgos@163.com

查看: 13618|回复: 1

[环境搭建] excel导入抛异常页面无提示,无论是抛异常还是返回ajaxjson都...

[复制链接]
发表于 2018-7-8 22:51:08 | 显示全部楼层 |阅读模式
jsp用的公用导入excel页面  webapp/webpage/common/upload/pub_excel_upload.jsp 无论是抛异常还是返回ajaxjson都不起作用

<%@ page language="java" import="java.util.*" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%@include file="/context/mytags.jsp"%>
<!DOCTYPE html>
<html>
<head>
<title>通用Excel导入${controller_name}</title>
<t:base type="jquery,easyui,tools"></t:base>
</head>
<body style="overflow-y: hidden" scroll="no">
<t:formvalid formid="formobj" layout="div" dialog="true" beforeSubmit="upload">
        <fieldset class="step">
        <div class="form"><t:upload name="fiels" buttonText="选择要导入的文件" uploader="${controller_name}.do;jsessionid=${pageContext.session.id}?importExcel=true" extend="*.xls;*.xlsx" id="file_upload" formData="documentTitle"></t:upload></div>
        <div class="form" id="filediv" style="height: 50px"></div>
        </fieldset>
</t:formvalid>
</body>
</html>



后台正常抛异常返回ajaxjson    无论是抛异常还是返回ajaxjson都不起作用
/**
         * 导入功能跳转
         *
         * @return
         */
        @RequestMapping(params = "upload")
        public ModelAndView upload(HttpServletRequest req) {
                req.setAttribute("controller_name","ceBfCkglController");
                return new ModelAndView("common/upload/pub_excel_upload");
        }


@RequestMapping(params = "doAdd")
        @ResponseBody
        public AjaxJson doAdd(CeBfCkglEntity ceBfCkgl, HttpServletRequest request) {
                String message = null;
                AjaxJson j = new AjaxJson();
                message = "添加成功";
                try{
                        _doInsert(ceBfCkgl);
                        ceBfCkglService.save(ceBfCkgl);
                        systemService.addLog(message, Globals.Log_Type_INSERT, Globals.Log_Leavel_INFO);
                }catch(Exception e){
                        e.printStackTrace();
                        j.setMsg(e.getMessage());
                        return j;
//                        e.printStackTrace();
//                        message = "添加失败";
//                        throw new BusinessException(e.getMessage());//无论是抛异常还是返回ajaxjson都不起作用
                }
                j.setMsg(message);
                return j;
        }





进入导入页面

进入导入页面

后台抛异常了

后台抛异常了
QQ图片20180708224649.png
发表于 2018-7-9 15:33:00 | 显示全部楼层
参考这个写法
  1. @SuppressWarnings("unchecked")
  2.         @RequestMapping(params = "importExcel", method = RequestMethod.POST)
  3.         @ResponseBody
  4.         public AjaxJson importExcel(HttpServletRequest request, HttpServletResponse response) {
  5.                 AjaxJson j = new AjaxJson();
  6.                
  7.                 MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request;
  8.                 Map<String, MultipartFile> fileMap = multipartRequest.getFileMap();
  9.                 for (Map.Entry<String, MultipartFile> entity : fileMap.entrySet()) {
  10.                         MultipartFile file = entity.getValue();// 获取上传文件对象
  11.                         ImportParams params = new ImportParams();
  12.                         params.setTitleRows(2);
  13.                         params.setHeadRows(1);
  14.                         params.setNeedSave(true);
  15.                         try {
  16.                                 List<JeecgDemoEntity> listJeecgDemoEntitys = ExcelImportUtil.importExcel(file.getInputStream(),JeecgDemoEntity.class,params);
  17.                                 for (JeecgDemoEntity jeecgDemo : listJeecgDemoEntitys) {
  18.                                         jeecgDemoService.save(jeecgDemo);
  19.                                 }
  20.                                 j.setMsg("文件导入成功!");
  21.                         } catch (Exception e) {
  22.                                 j.setMsg("文件导入失败!");
  23.                                 logger.error(ExceptionUtil.getExceptionMessage(e));
  24.                         }finally{
  25.                                 try {
  26.                                         file.getInputStream().close();
  27.                                 } catch (IOException e) {
  28.                                         e.printStackTrace();
  29.                                 }
  30.                         }
  31.                 }
  32.                 return j;
  33.         }
复制代码
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表