您的位置:首页 > 编程语言 > Java开发

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

2016-05-29 13:04 519 查看
前后台进行数据交互时,我们在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";
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息