21.@CookieValue、@RequestHeader、@ModelAttribute
作者:互联网
21.@CookieValue绑定Cookie数据值
// defaultValue定义默认值
public String test(@CookieValue(value="SESSIONID", defaultValue="") String sessionId)
自动将SESSIONID的值绑定到字符串sessionId上,如果Cookie中没有sessionId时则默认为空
传入数据类型也可以是javax.servlet.http.Cookie类型
public String test2(@CookieValue(value="SESSIONID", defaultValue="") Cookie sessionId)
22.@RequestHeader绑定请求头数据
@RequestMapping(value="/header")
public String test(
// 配置将自动将请求头中的“User-Agent"值绑定到userAgent上
@RequestHeader("User-Agent") String userAgent,
// 将"Accept"的值绑定到accepts上
@RequestHeader(value="Accept") String[] accepts){
}
23.@ModelAttribute
@ModelAttribute具有三个作用
1.绑定请求到命令对象:放在后台接口方法(控制层)的入参上时,用于将多个请求参数绑定到一个命令对象,从而简化绑定流程,而且自动暴露为模型数据用于视图页面展示时使用
2.暴露表单引用对象为模型数据:放在处理器的一般方法(非后台接口方法)上时,是为表单准备要展示的表单引用对象,如注册时需要选择所在的城市等,而且在执行后台接口方法之前,自动添加到模型对象中,用于视图页面展示时使用
3.暴露@RequestMapping方法返回值为模型数据:放在后台接口方法的返回值上时,处理方法的返回值为模型数据,用于视图页面的展示时使用
一、绑定请求参数到命令对象
如用户登录,我们需要捕获用户登录的请求参数(用户名、密码)并封装为用户对象,此时我们可以使用@ModelAttribute绑定多个请求参数到我们的命令对象。
public String test1(@ModelAttribute("user") UserModel user)
注解@ModelAttribute("user"),它的作用是将该绑定的命令对象以“user”为名称添加到模型对象中供视图页面展示使用。我们此时可以在视图页面使用${user.username}来获取绑定的命令对象的属性。
绑定请求参数到命令对象支持对象图导航式的绑定,如请求参数包含“?username=zhang&password=123&workInfo.city=bj”自动绑定到user中的workInfo属性的city属性中。
标签:21,对象,绑定,RequestHeader,ModelAttribute,user,请求,String 来源: https://www.cnblogs.com/leizia/p/15173549.html