docs: public static ModelAndView getParamErrors(BindException be) {
  
          // 构造error的映射
          Map<String, String> paramErrors = new HashMap<String, String>();
          Map<String, Object[]> paramArgusErrors = new HashMap<String, Object[]>();
          for (Object error : be.getAllErrors()) {
              if (error instanceof FieldError) {
                  FieldError fe = (FieldError) error;
                  String field = fe.getField();
  
                  // 默认的message
                  String message = fe.getDefaultMessage();
                  try {
  
                      contextReader.getMessage(message, fe.getArguments());
  
                  } catch (NoSuchMessageException e) {
  
                      // 如果有code,则从前往后遍历Code(特殊到一般),修改message为code所对应
                      for (int i = fe.getCodes().length - 1; i >= 0; i--) {
                          try {
                              String code = fe.getCodes()[i];
                              String info = contextReader.getMessage(code, fe.getArguments());
                              LOG.debug(code + "\t" + info);
                              message = code;
                          } catch (NoSuchMessageException e2) {
                              LOG.debug("");
                          }
                      }
                  }
  
                  // 最终的消息
                  paramErrors.put(field, message);
                  paramArgusErrors.put(field, fe.getArguments());
              }
          }
  
          return ParamValidateUtils.paramError(paramErrors, paramArgusErrors, ErrorCode.FIELD_ERROR);
      }