zoukankan      html  css  js  c++  java
  • 工作中遇到的问题--BindException

    org.springframework.validation.BindException: org.springframework.validation.BeanPropertyBindingResult: 1 errors
    Field error in object 'location' on field 'code': rejected value [沪]; codes [ValidLocationCode.location.code,ValidLocationCode.code,ValidLocationCode.java.lang.String,ValidLocationCode]; arguments [org.springframework.context.support.DefaultMessageSourceResolvable: codes [location.code,code]; arguments []; default message [code]]; default message [Location 沪 already exists]

    原因是Controller的edit方法中参数顺序错误,BindingResult需放在location后面

    @RequestMapping(value="/edit/{locationId}", method = RequestMethod.PUT)
        @PreAuthorize("hasRole('LOCATION_UPDATE')")
        public ModelAndView edit(@Valid @ModelAttribute("location") Location location, BindingResult result, @PathVariable("locationId") Long locationId, RedirectAttributes redirectAttributes) {
            if(result.hasErrors()) {
                ModelAndView modelAndView = createModelAndView("location/form", locationListMenuConfig);
                modelAndView.addObject("locationTypes", LocationType.values());
                return modelAndView;
            }
            try {
                locationService.edit(locationId, location);
                redirectAttributes.addFlashAttribute(ALERT_MESSAGE, AlertMessage.success(UPDATE_SUCCESS));    
                return backToMainPage();
            } catch(ValidationException e) {
                ModelAndView modelAndView = createModelAndView("location/form", locationListMenuConfig);
                modelAndView.addObject(ALERT_MESSAGE, AlertMessage.error(e.getErrorCode(), e.getParameters()));
                modelAndView.addObject("locationTypes", LocationType.values());
                return modelAndView;
            }
        }

  • 相关阅读:
    【题解】2020 年电子科技大学 ACMICPC 暑假前集训 数据结构
    【逆向】某触控板驱动分析过程
    SME 2019 ACM 题解
    数据结构 & 算法模板汇总
    VS2010win32下cocos2dx控制台打印的方法
    CDMA写码与鉴权(转载)
    mapxtreme开发小结2(c#)
    LONG GetWindowLong函数功能
    无边框的对话框的大小拖动实现
    YUV介绍
  • 原文地址:https://www.cnblogs.com/ly-radiata/p/4798299.html
Copyright © 2011-2022 走看看