zoukankan      html  css  js  c++  java
  • SpringMVC数据绑定

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

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

    // url   http://locahost:8080/main?id = 1
    // 后端controller
    @requesetMapping(value = "/main")
    publc int main(){
      int id = request.getparameter("id");
      return id;
    }
    // 原来表单提交的时候,url显示的就是
    http://locahost:8080/main?name = 1 &?age = 23 &?address = "jdsjf"
    所以数据的绑定和原来学表单的提交密切相关,但是前后端数据之间的交互有很多,比如使用ajax

          

       最初始的时候,没有参数绑定,自己手动将存入在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
          对象中的内容赋给处理方法的相应参数 
     

     2019-8-24 :

        今天看视频的视频的时候看到一种数据绑定方式:

    前端页面中有

                        <form>

                                 <input name = "username"  preholder = "用户名">  

                                 <input name = "password" preholder = "密码">

                       </form>

    后端方法里面直接写

                     public String login(@RequestParam(value = "username) String username,

                                                     @RequestParam(value = "password) String password)

    向上面这样不是从request域中取出 form表单中的元素,而是通过使用注解的方式来制定获取,第一次见

    但是这种方式,好像在之前的数据中接口和映射文件之间的对应关系中使用过这个。

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

  • 相关阅读:
    fcc的高级算法题
    jq on方法绑定多个事件
    高效的jQuery代码编写技巧
    HTML 提高页面加载速度的方法
    link 和 import 导入外部样式的区别
    js将多个方法添加到window对象上的多种方法
    js 数组删去重复的加上没有的元素
    JS中定义对象原型的两种使用方法
    CSS 清除默认样式
    JavaScript中定义对象的四种方式 2012-5-10 15:19 阅读(0)
  • 原文地址:https://www.cnblogs.com/helloqiufei/p/11066892.html
Copyright © 2011-2022 走看看