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

springMVC常用注解解释

2017-04-10 23:17 232 查看

9.@ModelAttribute

@ModelAttribute可以作用在方法或方法参数上,当它作用在方法上时,标明该方法的目的是添加一个或多个模型属性(model attributes)。该方法支持与@RequestMapping一样的参数类型,但并不能直接映射成请求。控制器中的@ModelAttribute方法会在@RequestMapping方法调用之前而调用,示例如下:

@ModelAttribute
public Account addAccount(@RequestParam String number) {
return accountManager.findAccount(number);
}

@ModelAttribute
public void populateModel(@RequestParam String number, Model model) {
model.addAttribute(accountManager.findAccount(number));
// add more ...
}

@ModelAttribute方法用来在model中填充属性,如填充下拉列表、宠物类型或检索一个命令对象比如账户(用来在HTML表单上呈现数据)。

@ModelAttribute方法有两种风格:一种是添加隐形属性并返回它。另一种是该方法接受一个模型并添加任意数量的模型属性。用户可以根据自己的需要选择对应的风格。

@ModelAttribute作用在方法参数上

当@ModelAttribute作用在方法参数上时,表明该参数可以在方法模型中检索到。如果该参数不在当前模型中,该参数先被实例化然后添加到模型中。一旦模型中有了该参数,该参数的字段应该填充所有请求参数匹配的名称中。这是Spring MVC中重要的数据绑定机制,它省去了单独解析每个表单字段的时间。

@ModelAttribute是一种很常见的从数据库中检索属性的方法,它通过@SessionAttributes使用request请求存储。在一些情况下,可以很方便的通过URI模板变量和类型转换器检索属性。

Spring3.0 引入 RESTful 架构风格支持(通过@PathVariable 注解和一些其他特性支持),且又引入了 更多的注解支持: 
@CookieValue:cookie 数据到处理器功能处理方法的方法参数上的绑定; 
@RequestHeader:请求头(header)数据到处理器功能处理方法的方法参数上的绑定; 
@RequestBody:请求的 body 体的绑定(通过 HttpMessageConverter 进行类型转换); 
@ResponseBody:处理器功能处理方法的返回值作为响应体(通过 HttpMessageConverter 进行类型转换); 
@ResponseStatus:定义处理器功能处理方法/异常处理器返回的状态码和原因; 
@ExceptionHandler:注解式声明异常处理器; 
@PathVariable:请求 URI 中的模板变量部分到处理器功能处理方法的方法参数上的绑定,从而支持 RESTful 架构风 格的 URI,以后会详细介绍RESTful风格的Java Web实现。

9.@ModelAttribute

@ModelAttribute可以作用在方法或方法参数上,当它作用在方法上时,标明该方法的目的是添加一个或多个模型属性(model attributes)。该方法支持与@RequestMapping一样的参数类型,但并不能直接映射成请求。控制器中的@ModelAttribute方法会在@RequestMapping方法调用之前而调用,示例如下:

@ModelAttribute
public Account addAccount(@RequestParam String number) {
return accountManager.findAccount(number);
}

@ModelAttribute
public void populateModel(@RequestParam String number, Model model) {
model.addAttribute(accountManager.findAccount(number));
// add more ...
}

@ModelAttribute方法用来在model中填充属性,如填充下拉列表、宠物类型或检索一个命令对象比如账户(用来在HTML表单上呈现数据)。

@ModelAttribute方法有两种风格:一种是添加隐形属性并返回它。另一种是该方法接受一个模型并添加任意数量的模型属性。用户可以根据自己的需要选择对应的风格。

@ModelAttribute作用在方法参数上

当@ModelAttribute作用在方法参数上时,表明该参数可以在方法模型中检索到。如果该参数不在当前模型中,该参数先被实例化然后添加到模型中。一旦模型中有了该参数,该参数的字段应该填充所有请求参数匹配的名称中。这是Spring MVC中重要的数据绑定机制,它省去了单独解析每个表单字段的时间。

@ModelAttribute是一种很常见的从数据库中检索属性的方法,它通过@SessionAttributes使用request请求存储。在一些情况下,可以很方便的通过URI模板变量和类型转换器检索属性。

Spring3.0 引入 RESTful 架构风格支持(通过@PathVariable 注解和一些其他特性支持),且又引入了 更多的注解支持: 
@CookieValue:cookie 数据到处理器功能处理方法的方法参数上的绑定; 
@RequestHeader:请求头(header)数据到处理器功能处理方法的方法参数上的绑定; 
@RequestBody:请求的 body 体的绑定(通过 HttpMessageConverter 进行类型转换); 
@ResponseBody:处理器功能处理方法的返回值作为响应体(通过 HttpMessageConverter 进行类型转换); 
@ResponseStatus:定义处理器功能处理方法/异常处理器返回的状态码和原因; 
@ExceptionHandler:注解式声明异常处理器; 
@PathVariable:请求 URI 中的模板变量部分到处理器功能处理方法的方法参数上的绑定,从而支持 RESTful 架构风 格的 URI,以后会详细介绍RESTful风格的Java Web实现。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: