1.默认参数

    reqeust  ---------》    如果想获得Request对象只需要在Controller方法的形参中添加一个参数即可。Springmvc框架会自动把Request对象传递给方法。
        response ---------》    通过response处理响应信息
        session ---------》    通过session对象得到session中存放的对象
        Model(ModelMap) ---------》ModelMapModel接口的实现类,通过ModelModelMap向页面传递数据如果使用Model则可以不使用ModelAndView对象,

             Model对象可以向页面传递数据,View对象则可以使用String返回值替代。不管是Model还是ModelAndView,其本质都是使用Request对象向jsp传递数据。

 

2.绑定简单数据类型
   页面请求的参数名和方法的形参名,保持一致。

 

3.绑定简单POJO
   页面上请求的参数名和对象的属性名保持一致(和方法的形参名没关系)

 

4.绑定包装POJO
        页面上请求的参数名是对象的属性就可以了
        <input name="obj.name" />
        //包装POJO
        class AAAAA{
            AAAA obj;
        }
        class AAAA{
            String name;
            Date date;
        }

 

5.自己定义参数绑定:springmvc不会转了
        1.写一个org.springframework.core.convert.converter.Converter<S,T>的子类
        2.配置一下这个类的使用
            <mvc:annotation-driven conversion-service="conversionService" />
            <bean id="conversionService"
                class="org.springframework.format.support.FormattingConversionServiceFactoryBean">
                <!-- 转换器 -->
                <property name="converters">
                    <set>
                        <!-- Converter<S,T>的子类 -->
                        <bean class="cn.hero.ssm.controller.converter.CustomDateConverter"/>
                    </set>
                </property>
            </bean>

  Converter<S, T> S:source源数据类型     T:target 目标数据类型

 

6.绑定数组类型
        <input name="name" />
        <input name="name" />
        <input name="name" />
        ------------------------------
        public Object method(String[] name){}
        //页面上请求的参数名和数组类型形参的名称保持一致
        public Object method(Obj obj){}
        class Obj{
            String[] name;
        }
        //页面上请求的参数名和对象的数组类型属性的名称保持一致

 

7.List绑定
        @RequestMapping("/xxx")
        public Object method(List<Obj> obj) {  //这样写是不行的,必须List在一个对象里面
            
        }
        
        <input name="useList[0].name" />

        @RequestMapping("/xxx")
        public Object method(Obj obj) {

            return null;
        }
        public class Obj {
            List<Use> useList;
        }
        public class Use {
            private String name;
        }