zoukankan      html  css  js  c++  java
  • 4、spring参数绑定

    1 简单整理

    注解开发:

    使用注解方式的处理器映射器和适配器:

    <!--注解映射器 -->
        <bean class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping"/>
    <!--注解适配器 -->
        <bean class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter"/>

    在实际开发,使用<mvc:annotation-driven>代替上边处理器映射器和适配器配置。

    @controller注解必须要加,作用标识类是一个Handler处理器。

    @requestMapping注解必须要加,作用:

    1、对urlHandler方法进行映射。

    2、可以窄化请求映射,设置Handler的根路径,url就是根路径+子路径请求方式

    3、可以限制http请求的方法

    映射成功后,springmvc框架生成一个Handler对象,对象中只包括 一个映射成功的method

     

    注解开发中参数绑定:

     

    request请求过来的key/value的数据(理解一个串),通过转换(参数绑定的一部分),将key/value串转成形参,将转换后的结果传给形参(整个参数绑定过程)。

     

    springmvc所支持参数绑定:

     

    1、默认支持很多类型,HttpServletRequestresponsesessionmodel/modelMap(将模型数据填充到request)

     

    2、支持简单数据类型,整型、字符串、日期。。只要保证request请求的参数名和形参名称一致,自动绑定成功如果request请求的参数名和形参名称不一致,可以使用@RequestParam(指定request请求的参数名),@RequestParam加在形参的前边。

     

     

    3、支持pojo类型

     

    只要保证request请求的参数名称和pojo中的属性名一致,自动将request请求的参数设置到pojo的属性中。

     

    注意:形参中即有pojo类型又有简单类型,参数绑定互不影响。

    包装类型pojo参数绑定 

    2.1 需求

    商品查询controller方法中实现商品查询条件传入。

    2.2 实现方法

    第一种方法:在形参中 添加HttpServletRequest request参数,通过request接收查询条件参数。

    第二种方法:在形参中让包装类型的pojo接收查询条件参数。

    分析:

    页面传参数的特点:复杂,多样性。条件包括 :用户账号、商品编号、订单信息。。。

    如果将用户账号、商品编号、订单信息等放在简单pojo(属性是简单类型)中,pojo类属性比较多,比较乱。

    建议使用包装类型的pojopojo中属性是pojo

    2.3 页面参数和controller方法形参定义

    页面参数:

    商品名称:<input name="itemsCustom.name" />

    注意:itemsCustom和包装pojo中的属性一致即可。

    controller方法形参:

    public ModelAndView queryItems(HttpServletRequest request,ItemsQueryVo itemsQueryVo) throws Exception

    3集合类型绑定

    3.1 数组绑定

    3.1.1 需求

    商品批量删除,用户在页面选择多个商品,批量删除。

     

    3.1.2 表现层实现

    关键:将页面选择(多选)的商品id,传到controller方法的形参,方法形参使用数组接收页面请求的多个商品id

     

    3.2list绑定

    3.2.1 需求

    通常在需要批量提交数据时,将提交的数据绑定到list<pojo>中,比如:成绩录入(录入多门课成绩,批量提交),

    本例子需求:批量商品修改,在页面输入多个商品信息,将多个商品信息提交到controller方法中。

    3.2.2 表现层实现

     

    3.3 map绑定

     

  • 相关阅读:
    Linux (x86) Exploit 开发系列教程之三(Off-By-One 漏洞 (基于栈))
    Linux (x86) Exploit 开发系列教程之二(整数溢出)
    Linux (x86) Exploit 开发系列教程之一(典型的基于堆栈的缓冲区溢出)
    Linux (x86) Exploit 开发系列教程之四(使用return-to-libc绕过NX bit)
    xss level11
    f.select
    jquery.backstretch
    linux目录或文件权限
    pradino 命令
    Padrino 博客开发示例
  • 原文地址:https://www.cnblogs.com/wyl9527/p/6444157.html
Copyright © 2011-2022 走看看