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

springmvc梳理9-----用注解来进行数据绑定

2014-06-19 16:04 274 查看
与前面一章有着异曲同工之处,只不过注解更省时。

在前面也提到过一些注解方式,重复的就不提了。

@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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: