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接收查询条件参数。
  • 相关阅读:
    關於遍歷頁面所有控件的方法 空间
    Java中super的几种用法并与this的区别
    vs2010 未能正确加载方案中的一个或多个项目
    【ASP.NET】从服务器端注册客户端脚本
    sqlserver access 多数据库操作
    水晶報表中小寫變大寫的函數-VB
    RegularExpressionValidator 常用
    【转】改善C#程序的建议2:C#中dynamic的正确用法 空间
    转】VB中Set的用法
    C#索引器
  • 原文地址:https://www.cnblogs.com/SmartCat994/p/13081380.html
Copyright © 2011-2022 走看看