zoukankan      html  css  js  c++  java
  • CRUD工程师---Spring请求参数绑定

    SpringMVC参数绑定,简单来说就是将客户端请求的key/value数据绑定到controller方法的形参上,然后就可以在controller中使用该参数了。

    说实话作为一个开发人员最常用的就是@xxxx,有时候前端会问,传到哪里,body里面还是url里面。这个时候就很搞了。另外有时候会感觉其实不加也可以做到,所以今天来复习下。

    在springmvc中,接收页面提交的数据是通过方法形参来接收的。从客户端请求的key/value数据,经过参数绑定,将key/value数据绑定到controller方法的形参上,然后就可以在controller中使用该参数了。来看一下这个过程:

    springmvc中,有支持的默认类型的绑定。也就是说,直接在controller方法形参上定义默认类型的对象,就可以使用这些对象。

    1. HttpServletRequest对象
    2. HttpServletResponse对象
    3. HttpSession对象
    4. Model/ModelMap对象(Model/ModelMap对象,Model是一个接口,ModelMap是一个接口实现 ,作用是将Model数据填充到request域,跟ModelAndView类似)

    不过目前我使用的最多的还是Request和Response对象,Session很少

    要注意一点的是,简单类型的绑定中,方法形参中的参数名要和前台传进来的名一样才能完成参数的绑定。当然使用@RequestParam对简单的类型进行参数绑定可以避免,必须对应的情况,给前端大哥能减少不少压力.....

    再来总结下pojo类型的绑定,继续上面的案例,当页面展示了商品详细信息后,我做了修改,然后点击提交,后台应该将我提交的这些参数全部更新到数据库的items表中,也就是说,我提交的这些参数要绑定到Items对象或者其扩展对象中。

    如果出现类型不一致的情况,例如前端是String,实体类里面是Date,那么需要一个转换器了,或者自己动手转(很常用,比较蠢的方法)

    转换器可以参考这个:https://www.cnblogs.com/huiy/p/9482374.html

    还有一种是包装类型pojo指的是pojo中有另一个也是pojo的属性,即pojo套pojo,为什么会设计这种pojo呢?在前面的博文中我也有提到,这种组合的设计方法对于后期程序的扩展很有用,比如复杂的查询条件就需要包装到这种包装类型中。 
    两个思路:
    1. 在形参中添加HttpServletRequest request参数,通过request接收查询条件参数。
    2. 在形参中让包装类型的pojo接收查询条件参数。
  • 相关阅读:
    July 08th. 2018, Week 28th. Sunday
    July 07th. 2018, Week 27th. Saturday
    兄弟组件bus传值
    vue 父子组件传值
    路由传值的三种方式
    jQuery 操作表格
    原生js实现开关功能
    跨域解决方法
    正则判断密码难度
    cookie封装函数
  • 原文地址:https://www.cnblogs.com/SmartCat994/p/13081380.html
Copyright © 2011-2022 走看看