055@ModelAttribute修饰方法形参

当使用@ModelAttribute修饰方法形参,这意味着该参数值会自动绑定成Model属性
归纳一下,SpringMVC可以从下面三个地方获取参数值:

  1. 同名请求参数
  2. 同名的路径变量名
  3. 同名的model属性

栗子:
用户请求url:

/my?name=lyx&age=22"
/test/2

控制器:

@Controller
public class UserController
{

    @GetMapping("/my")
    //从同名的请求参数中获取方法参数
    //在这里@ModelAttribute同时充当了没有指定value的@RequestParam的功能和model.addAttribute的功能
    public String test1(@ModelAttribute("myUser") User u,Model model)
    {
        System.out.println("-------------------------------"+model.asMap());
        return "test";
    }
    //从同名的路径变量中获取方法参数
    //在这里@ModelAttribute同时充当了指定了value的@PathValiable的功能和model.addAttribute的功能
    @GetMapping("/test/{info}")
    public String test2(@ModelAttribute("info") Integer number,Model model)
    {
        System.out.println("-------------------------------"+model.asMap());
        return "test2";
    }
}

User.java

public class User
{
    private String name;
    private Integer age;
    //省略setter、getter方法以及构造器
}

test.jsp的输出:

	myUser:${myUser}

结果:

myUser:User{name=‘lyx’, age=22}

test2.jsp的输出:

	info:${info}

结果:

info:2

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值