1.默认参数
reqeust ---------》 如果想获得Request对象只需要在Controller方法的形参中添加一个参数即可。Springmvc框架会自动把Request对象传递给方法。
response ---------》 通过response处理响应信息
session ---------》 通过session对象得到session中存放的对象
Model(ModelMap) ---------》ModelMap是Model接口的实现类,通过Model或ModelMap向页面传递数据;如果使用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;
}
浙公网安备 33010602011771号