我们已经学习了SpringMVC中的很多注解,比如SessionAttribute、ModelAttribute、RequestHeader等,今天我们再介绍一个CookieValue注解。从字面意思很容易理解,@CookieValue是用于读取Cookie值的。
@CookieValue有三个参数:
1. value:表示需要获取的参数名,例如: JSESSIONID。默认值为“”。
2. required:请求头cookie中是否必须带value指定的参数。默认值为true。如果设置为true,但请求头cookie中不存在,则会报错。如果设置为false,不存在返回null。
3. defaultValue:如果value指定的参数不存在,或者值为空,那么将使用该属性指定的默认值。默认值ValueConstants.DEFAULT_NONE。
使用方法和@RequestHeader类似,在controller的方法参数中使用该注解。示例如下:
@Controller
public class CookieController {
@RequestMapping(value = "/cookieTest")
public String getSessionId(
@CookieValue(value = "boweifeng", required = true, defaultValue = "-1") String company,
Model model) {
model.addAttribute("company", company);
return "index";
}
}
示例红色部分,将会读取请求cookie,并获得boweifeng参数值,赋值给company参数。