Package org.springframework.web.bind

Examples of org.springframework.web.bind.WebDataBinder


      }
    }
    else {
      bindObject = BeanUtils.instantiateClass(paramType);
    }
    WebDataBinder binder = createBinder(webRequest, bindObject, name);
    initBinder(handler, name, binder, webRequest);
    return binder;
  }
View Full Code Here


    }
    if (BeanUtils.isSimpleProperty(methodParameter.getParameterType())) {
      assertHasName(name, methodParameter);
      addIfNotContainsKey(model, name, value);
    } else {
      WebDataBinder binder = new WebRequestDataBinder(value);
      WebRequest request = new FacesWebRequest(FacesContext.getCurrentInstance());
      if (this.context.getWebBindingInitializer() != null) {
        this.context.getWebBindingInitializer().initBinder(binder, request);
      }
      ReverseDataBinder reverseBinder = new ReverseDataBinder(binder);
View Full Code Here

  }

  @Test
  public void testVanillaBinding() throws Exception {
    WebDataBinder binder = new WebDataBinder(new TestBean(), "bean");
    binder.bind(new MutablePropertyValues(Collections.singletonMap("name", "foo")));
    TestBean bean = (TestBean) binder.getTarget();
    assertEquals("foo", bean.getName());
  }
View Full Code Here

    assertEquals("foo", bean.getName());
  }

  @Test
  public void testModifiedBinding() throws Exception {
    WebDataBinder binder = new WebDataBinder(new TestBean(), "bean");
    binder.registerCustomEditor(String.class, "name", new PropertyEditorSupport() {
      @Override
      public void setAsText(String text) throws IllegalArgumentException {
        setValue(text.replace("name_", ""));
      }
    });
    // This is all very well but not actually what we want
    binder.bind(new MutablePropertyValues(Collections.singletonMap("name", "name_foo")));
    TestBean bean = (TestBean) binder.getTarget();
    assertEquals("foo", bean.getName());
  }
View Full Code Here

    assertEquals("foo", bean.getName());
  }

  @Test
  public void testPrefixBinding() throws Exception {
    WebDataBinder binder = new WebDataBinder(new TestBean(), "bean");
    Map<String,String> values = new HashMap<String, String>();
    values.put("name_foo", "rubbish");
    // This is what we need...
    values.put("name", WebUtils.findParameterValue(values, "name"));
    binder.bind(new MutablePropertyValues(values));
    TestBean bean = (TestBean) binder.getTarget();
    assertEquals("foo", bean.getName());
  }
View Full Code Here

   * @param tagsStr     строка, содержащая разделённые запятой теги
   * @param isFavorite  добавлять фаворитные теги (true) или игнорируемые (false)
   * @return null если не было ошибок; строка если были ошибки при добавлении.
   */
  public List<String> addMultiplyTags(User user, String tagsStr, boolean isFavorite) {
    WebDataBinder binder = new WebDataBinder("");
    Errors errors = binder.getBindingResult();
    ImmutableList<String> tagList = parseTags(tagsStr, errors);
    for (String tag : tagList) {
      try {
        if (isFavorite) {
          favoriteAdd(user, tag);
View Full Code Here

    when(tagDao.getTagId(anyString())).thenReturn(noneInt);
  }

  private void prepareChangeDataBinder() {
    TagRequest.Change tagRequestChange = new TagRequest.Change();
    binder = new WebDataBinder(tagRequestChange);
  }
View Full Code Here

    binder = new WebDataBinder(tagRequestChange);
  }

  private void prepareDeleteDataBinder() {
    TagRequest.Delete tagRequestDelete = new TagRequest.Delete();
    binder = new WebDataBinder(tagRequestDelete);
  }
View Full Code Here

        Reflections.invokeMethod(Reflections.getFieldValue(attribute, clearField), "clear", null, null);
      }
    }

    // 从绑定工厂获取绑定类
    WebDataBinder binder = (ExtendedServletRequestDataBinder) binderFactory.createBinder(request, attribute, name);
    if (binder.getTarget() != null) {

      // 设置绑定允许的字段和禁止的字段
      if (annot != null) {
        String[] allowedFields = annot.allowedField();
        String[] deniedFields = annot.deniedField();
        binder.setAllowedFields(allowedFields);
        binder.setDisallowedFields(deniedFields);
      }

      // 绑定request参数
      bindRequestParameters(binder, request);
      // 如果需要进行认证,见 @Valid注解
      validateIfApplicable(binder, parameter);
      if (binder.getBindingResult().hasErrors()) {
        // 如果不紧跟Errors参数直接抛出异常
        if (isBindExceptionRequired(binder, parameter)) {
          throw new BindException(binder.getBindingResult());
        }
      }
    }

    // 将绑定结果和认证结果添加到model
    Map<String, Object> bindingResultModel = binder.getBindingResult().getModel();
    mavContainer.removeAttributes(bindingResultModel);
    mavContainer.addAllAttributes(bindingResultModel);

    return binder.getTarget();
  }
View Full Code Here

   * render it
   */
  @RequestMapping(value="/reward/new", method = RequestMethod.GET)
  public ModelAndView newForm() {
    RewardForm rewardForm = new RewardForm();
    WebDataBinder binder = new WebDataBinder(rewardForm, "rewardForm");
    initBinder(binder);
    return new ModelAndView(FORM_VIEW, binder.getBindingResult().getModel());
  }
View Full Code Here

TOP

Related Classes of org.springframework.web.bind.WebDataBinder

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.