• 工作中遇到的问题--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;
            }
        }

  • 相关阅读:
    ini 文件
    基元类型、引用 类型与值类型
    C#的 is 和 as 类型转换
    MVC 项目中为什么会有两个web.config
    Linux下安装SVN服务端小白教程
    测试博文中添加可执行JS代码
    坑爹坑娘坑祖宗的87端口(记一次tomcat故障排查)
    fsfds
    高斯混合模型Gaussian Mixture Model (GMM)
    ggplot2绘制概率密度图
  • 原文地址:https://www.cnblogs.com/ly-radiata/p/4798299.html
Copyright © 2020-2023  润新知