SpringMVC数据绑定

Posted helloqiufei

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SpringMVC数据绑定相关的知识,希望对你有一定的参考价值。

在你使用springMVC的数据绑定的时候,你没有想过,没有使用数据绑定前端如何向后端传入数据,
这样和使用springMVC数据绑定之间的区别,数据绑定的实质是什么。

  《一》   前端传入参数(最初始的方法)

// url   http://locahost:8080/main?id = 1
// 后端controller
@requesetMapping(value = "/main")
publc int main()
  int id = request.getparameter("id");
  return id;

       最初始的时候,没有参数绑定,自己手动将存入在request域里面的参数,手动取出来,然后在执行下一步操作。(例如表单提交时候,后端在request里面一个一个将表单中元素的数值取出来)

   问题:如果在前端传入参数很多的时候,如何将这些参数,方便快捷的取出来?

 那么使用springMVC数据绑定可以解决上面问题吗?

// 使用springmvc处理原始问题
// url http://locahost:8080/main?id = 1
@requestMapping(value = /main")
public int main(int id)
  return id;  

  通过上述代码发现,使用springmvc数据绑定,只需要将controll方法体中的参数和url中绑定的参数名相同即可,不需要向之前从request域中取出数据。

     下面将从工作原理以及简单数据绑定,复杂数据绑定介绍springMVC数据绑定

一. 工作原理

                                             技术图片

    注意:从上面的servletrequest验证数据是存储在servlet request 内置对象中

    核心部件:Databinder接口

    绑定过程如下:

 ( 1 ) Spring MVC ServletRequest 对象传递给 DataBinder
 ( 2 )将处理方法的入参对象传递给 DataBinder
 ( 3 ) DataBinder 调用 ConversionService 组件进行数据类型转换、数据格式化等工作,并将ServletRequest 对象中的消           息填充到参数对象中
(4 )调用 Validator 组件对已经绑定了请求消息数据的参数对象进行数据合法性校验
(5 )校验完成后会生成数据绑定结果 BindingResult 对象, Spring MVC 会将 BindingResult
      对象中的内容赋给处理方法的相应参数 
 

 

未完待续!!!!!!!!!!!!!!!!

 

以上是关于SpringMVC数据绑定的主要内容,如果未能解决你的问题,请参考以下文章

SpringMVC详解------参数绑定

springMVC学习总结数据绑定

SpringMVC数据绑定与表单标签库

学习SpringMVC(十六)之数据绑定流程

springMVC4模型数据绑定全面分析

SpringMVC请求参数的绑定