SpringMvc常用注解总结
原创
©著作权归作者所有:来自51CTO博客作者无名同学的原创作品,请联系作者获取转载授权,否则将追究法律责任
@Controller指示Spring类的实例是一个控制器类
@RequestMapping指示Spring用哪一个类或方法来处理请求动作
@RequestParam注解用来将之指定的请求参数赋值给方法中的形参(可选的类型为Java基本数据类型和String)
@PathVariable注解类型可以非常方便地获取请求URL中的动态参数,只有一个属性value,类型为String表示绑定的名称,如果省略则默认绑定同名参数
@RequestHeader注解用于将请求的头信息区数据映射到功能处理方法的参数上。
@CookieValue用于将请求的Cookie数据映射到功能处理方法的参数上。
@SessionAttribute允许我们有选择地指定Model中的哪些属性需要转存到HttpSession中
@ModelAttribute用于将请求参数绑定到Model对象(该注解会在Controller的每个方法执行前被执行,如果要映射多个URL请慎用)
(1)
@ModelAttribute("loginname")
public String userModel1(@RequestParam("loginname") String loginname){
return loginname:
}//用来指定model属性的名称,model属性的值就是方法的返回值
(2)
@ModelAttribute
public void userModel2(@RequestParam("loginname") String loginname,
@RequestParam("password") String password,Model model){
model.addAttribute("loginname",loginname);
model.addAttribute("password",password);
}//用model实现加入参数
(3)
@ModelAttribute
public User userModel3(
@RequestParam("loginname“”) String loginname,
’ @RequestParam("password") String password)
{
User user=new User(loginname,password);
return user:
}//没有指定参数,那么这个model 的属性值就是user
(4)
@RequestMapping(value="/login4")
@ModelAttribute(value="username")
public String login4(){
return "admin";
}//视图名称的value值为"/login4",model属性名称由@ModelAttribute指定,相当于username=admin;
(5)
@ModelAttribute("user")
public User userModel5(
@RquestParam("loginname") String loginname,
@RequestParam("password") String password){
User user=new User(loginname,password);
return user;
}
@RequestMapping(value="/login5")
public String login5(@ModelAttribute("user") User user){
user.setUsername("管理员");
return "result5“;
}//model中放入user对象