@PathVariable @RequestParam @ModelAttribute

@RequestParam 和 @PathVariable 注解是用于从request中接收请求的,两个都可以接收参数,关键点不同的是@RequestParam 是从request里面拿取值,而 @PathVariable 是从一个URI模板里面来填充

@RequestParam

http://localhost:8080/springmvc/?param1=10&param2=20

根据上面的这个URL,你可以用这样的方式来进行获取

public String getDetails(@RequestParam String param1, @RequestParamString param2){
...
}

@PathVariable

@RequestMapping("/user/{id}")

public String getDetails(@PathVariable int id){
...
}



@ModelAttribute

@ModelAttribute可以用在方法上注释,也可以用在参数上注释。最主要的作用是将数据添加到Model对象中,用于视图页面展示时使用。

  1. @ModelAttribute注解在方法上。@ModelAttribute注解的方法会在Controller每个方法执行前被调用。
@ModelAttribute
public void test(){
    System.out.println("111");
}

@RequestMapping("/test")
public void test1(){
    System.out.println("222");
}

当请求"/test"的时候。首先执行test方法然后在执行test1方法。如果有多个@ModelAttribute会顺序执行。

2. @ModelAttribute注解在参数上。用于绑定参数

@RequestMapping(value="/test")
public String postUser(@ModelAttribute User user) {
// 处理"/users/"的POST请求,⽤来创建User
// 除了@ModelAttribute绑定参数之外,还可以通过@RequestParam从⻚⾯中传递参数
users.put(user.getId(), user);
return "success";
}

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值