SpringMVC学习笔记(3):绑定数据(1)

前后台进行数据交互时,我们在servlet中是使用HttpServletRequest来获取相关的参数的,但是在SpringMVC中提供 了一系列的注解帮助我们完成这一过程,这里先说一下基本类型的绑定。

一、 绑定请求参数

可以将请求的参数直接映射到请求处理器的方法参数中,通过@RequestParam注解来完成这个绑定过程,如下:
@RequestMapping(value="/view")
public String hello(@RequestParam("name") String name, @RequestParam("age") Integer age) {
	System.out.println("name ...." + name + "; age ... " + age);
	return "view";
}
如上所示将请求中的name和age映射到处理器的方法参数上,有几个问题要注意一下:
  • @RequestParam中会有required属性,会要求这个请求参数是否一定要出现,默认是true,即该属性一定要出现,如果没有出现在前台会出现400错误;如果不要求必须,可设为false,
  • 在绑定参数时对前台和后台之间参数类型的转换要注意,这里传递整数类型使用Integer,而且推荐使用基本类型的包装类型,这是因为前台向后台传值是其实都是传递的字符串,只不过是传到后台后会将字符串转换为数字,但是字符串为空时就会发生转换错误,错误如下,为了避免错误,可以使用包装类会将空串转换成为null;

二、 绑定请求头

也可以将http的请求头绑定到请求处理器的参数上,使用@RequestHeader,和@RequestParam注解的使用相同,只是将参数名换成了http的请求头,如下:
@RequestMapping(value="/view")
public String hello(@RequestHeader("Accept-Language") String type, @RequestHeader("Accept-Encoding") String encode) {
	System.out.println("type ...." + type + "; encode ... " +encode );
	return "view";
}
其实感觉这个用的不是太多。

三、 绑定cookie

传递cookie也可以通过注解@CookieValue来实现,它的使用方法和上面的两个注解一样,都有required和defaultValue属性,使用如下:
@RequestMapping(value="/view1")
public String hello(@CookieValue("JSESSIONID") String cookie) {
	System.out.println("cookie ...." + cookie);
	return "view";
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值