x_mario 2017-06-14 05:39 采纳率: 40%
浏览 1250
已采纳

Ajax提交地址为同一个方法。

是这样的,我的页面一个form表单存在两个部分,if判断是显示修改标签还是添加标签。
提交的时候就会提交到同一个方法里。其实之前是修改区域有个input value存的是修改url路径,添加区域也有个input value存的是添加的url路径。
后来我想都提交到同一个url即同一个后台方法里。判断id是否存在来判断是要修改还是添加。

@ResponseBody()
    @RequestMapping("/edit_do")
    public JsonResult edit_do(Foods foods,@RequestParam("foodsImg")MultipartFile file){
        JsonResult jr = new JsonResult();
        try{
            String path ="";
            if(foods.getFoods_id()!=null){
                //执行更新
                //如果file为空,则表示不换图片不需要重新上传
                if(file!=null){
                    if(!FileUtil.isAllowUpImg(file.getOriginalFilename())){
                        return JsonResultUtil.getErrorJson("不允许上传的文件格式,请上传gif,jpg,bmp格式文件。");
                    }
                    //上传图片,
                    path = upload(file,200,200);
                    System.out.println(path);
                    foods.setFoods_img(path);
                }
                //执行修改
                foodsManager.updateFoods(foods);
            }else{
                //执行添加
                //创建一个ID添加
                Random r = new Random(1000);
                String foods_id ="foods"+r.nextInt()+r.nextInt();
                System.out.println(foods_id);
                foods.setFoods_id(foods_id);
                if(!FileUtil.isAllowUpImg(file.getOriginalFilename())){
                    return JsonResultUtil.getErrorJson("不允许上传的文件格式,请上传gif,jpg,bmp格式文件。");
                }
                //上传图片,
                path = upload(file,200,200);
                String updateTime=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date());//更新时间
                foods.setFoods_img(path);
                foods.setCreate_time(updateTime);
                System.out.println(foods.getCreate_time());
                foodsManager.insertFoods(foods);
            }
        } catch(RuntimeException e) {
            Logger logger = Logger.getLogger(getClass());
            logger.error("上传图片出错:"+e);
        } catch (Exception e) {
            return JsonResultUtil.getErrorJson("失败"+e.getMessage());
        }
        jr.setResult(1);
        jr.setMessage("成功");
        return jr;

    }

执行添加的时候,一切ok。后来修改就总是提示不成功。也不报错,我打断点,连方法都不进。问问原因,是不是不能写一个方法里。就必须要分开写。

  • 写回答

6条回答 默认 最新

  • x_mario 2017-06-14 07:54
    关注

    已经知道哪的问题了,是因为我上传的时候MultipartFile作为参数,不能为空。我添加的时候MultipartFile不为空,可以进后台。修改的时候,不上传不进方法,添加上传文件就会进后台方法。对这个东西慢慢的恨意。。。。。。。。
    然后解决的方法也给你们
    图片说明

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(5条)

报告相同问题?

悬赏问题

  • ¥15 ELGamal和paillier计算效率谁快?
  • ¥15 file converter 转换格式失败 报错 Error marking filters as finished,如何解决?
  • ¥15 ubuntu系统下挂载磁盘上执行./提示权限不够
  • ¥15 Arcgis相交分析无法绘制一个或多个图形
  • ¥15 关于#r语言#的问题:差异分析前数据准备,报错Error in data[, sampleName1] : subscript out of bounds请问怎么解决呀以下是全部代码:
  • ¥15 seatunnel-web使用SQL组件时候后台报错,无法找到表格
  • ¥15 fpga自动售货机数码管(相关搜索:数字时钟)
  • ¥15 用前端向数据库插入数据,通过debug发现数据能走到后端,但是放行之后就会提示错误
  • ¥30 3天&7天&&15天&销量如何统计同一行
  • ¥30 帮我写一段可以读取LD2450数据并计算距离的Arduino代码