SpringMVC的常用注解及其属性

SpringMVC的常用注解及其属性

@RequestMapping: value和path 用于指定类或方法的路径

​ params:字符串数组参数,指定请求必须带有的参数。

​ method:数组参数。用于指定请求方式。

@RequestParam:用于封装数据。SpringMVC的自动封装要求参数名要一致。所以不一致的情况下,就得使用 该注解。

​ value和name都是一样的,指定页面参数名称。

​ required(默认是true),表示是否必须有该参数。

​ 如:(@RequestParam(name=“username”) String name)

​ 首先就是页面参数必须要有username,接下springMVC会把username的值传给name

@RequestBody: 用于获取请求体,形势为key=value&key=value。。。的字符串

​ 用法为(@RequestBody String body)

@PathVariable: 用于绑定url中的占位符。如:

@RequestMapping("/test/{id}")
public void testPathVariable(@PathVariable(name="id") String urlId) {
	//假如url是 localhost:8080/test/100
    //那么urlId就是100
}

@ModelAttribute: 该注解可以修饰方法,被修饰的方法会先折行。

​ 一般用来处理页面参数。如:

@ModelAttribute
//假如传如“张三”
public User showUser(String name){
    User user = new User();
    user.setName(uname);
    user.setAge(20);
    return user;
}

@RequestMapping(value="/test")
public String testModelAttribute(User user){
    // 输出 name=张三;age=20
    //@ModelAttribute修饰的方法的返回值自动填充为该方法的参数
    System.out.println(user);
}

@ModelAttribute也可以作用在参数上。如:

@RequestMapping(value="/test")
//用@ModelAttribute将map里的对象取出来
public String testModelAttribute(@ModelAttribute("test") User user){
    System.out.println(user);
}

@ModelAttribute
public void showUser(String name, Map<String,User> map){
    User user = new User();
    user.setName(name);
    user.setAge(20);
    //将封装的数据放到Map集合里
    map.put("test",user);
}

@SessionAttributes:关于session域的数据存取。它是一个作用在类上的注解。

@RequestMapping(value="/testSessionAttributes")
public String testSessionAttributes(Model model){
    // 会存储到request域对象中
    //在类上使用@SessionAttributes(value={"msg"}),数据就会存到session域
    model.addAttribute("msg","123");
}

@RequestMapping(value="/getSessionAttributes")
public String getSessionAttributes(ModelMap modelMap){
    //从session域里面取值
    String msg = (String) modelMap.get("msg");
}


@RequestMapping(value="/delSessionAttributes")
public String delSessionAttributes(SessionStatus status){
    //将数据从session域里删除
    status.setComplete();
}

//以上代码实现前提是类上有 @SessionAttributes(value={"msg"}) 不然只是操作request域

@ResponseBody:当方法的返回值是一个对象的时候,使用该注解。该注解会将返回的对象转换为json并输出。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值