与前面一章有着异曲同工之处,只不过注解更省时。
在前面也提到过一些注解方式,重复的就不提了。
@RequestParam:略
@PathVariable绑定URI模板变量值,需要注意的是:
当URI模板变量和请求参数同名时,URI模板变量具有高优先权。
@ModelAttribute,起到将参数绑定到命令对象,并且将此对象给视图页面使用:
/** * @ModelAttribute帮助我们绑定的命令对象以“user”为名称添加到模型对象中供视图页面展示使用 * * @param user * @return */ @RequestMapping(value = "/test1") public String test1(@ModelAttribute("user") User user){ user.setName("sun"); return "/test"; }
@RequestHeader:绑定请求头数据:
/** * 请求头数据的绑定 * * @param userAgent 浏览器 * @param accepts 请求头的信息 * @return * * 我这边打印出来的结果: * Mozilla/5.0 (Windows NT 6.1; rv:29.0) Gecko/20100101 Firefox/29.0 * text/html */ @RequestMapping(value="/header") public String test( @RequestHeader("User-Agent") String userAgent, @RequestHeader(value="Accept") String[] accepts){ if(!Strings.isNullOrEmpty(userAgent))System.out.println(userAgent); if(accepts.length!=0&&accepts!=null)System.out.println(accepts[0]); return "test"; }
/** * 通过SessionStatus的setComplete()方法清除@SessionAttributes指定的会话数据 * * @param currentUser * @param status * @return */ @RequestMapping("/session2") public String session(@ModelAttribute("user") User currentUser, SessionStatus status) { if(true) { status.setComplete(); } return "test"; }
/** * @ModelAttribute帮助我们绑定的命令对象以“user”为名称添加到模型对象中供视图页面展示使用 * * @param user * @return */ @RequestMapping(value = "/test1") public String test1(@ModelAttribute("user") User user){ user.setName("sun"); return "/test"; } /** * 请求头数据的绑定 * * @param userAgent 浏览器 * @param accepts 请求头的信息 * @return * * 我这边打印出来的结果: * Mozilla/5.0 (Windows NT 6.1; rv:29.0) Gecko/20100101 Firefox/29.0 * text/html */ @RequestMapping(value="/header") public String test( @RequestHeader("User-Agent") String userAgent, @RequestHeader(value="Accept") String[] accepts){ if(!Strings.isNullOrEmpty(userAgent))System.out.println(userAgent); if(accepts.length!=0&&accepts!=null)System.out.println(accepts[0]); return "test"; } /** * @CookieValue用于将请求的Cookie数据映射到功能处理方法的参数上。 * * @param sessionId * @return */ @RequestMapping(value="/test2") public String test2(@CookieValue(value="JSESSIONID", defaultValue="") Cookie sessionId){ if(sessionId!=null)System.out.println(sessionId.getName()); return "test"; }
参考涛哥:http://jinnianshilongnian.iteye.com/blog/1705701