SpringMVC常用注解-@ModelAttribute

被@ModelAttribute注释的方法会在此controller每个方法执行前被执行
(1)@ModelAttribute注释void返回值的方法,通常会传入Model对象作为参数

@ModelAttribute
public void fillData(Model model) {
    System.out.println(model);
    model.addAttribute("username", "用户名");
}

(2)@ModelAttribute注释有返回值的方法,返回值回被放入model对象中,value就是model对象的属性名,返回值就是model对象的属性值
@ModelAttribute等价于 model.addAttribute(“属性名”, 属性值),主要的作用是将数据添加到Model对象中

@RequestMapping
@RestController
public class TestController {

    @PostMapping("/test")
    public String test(@ModelAttribute("key") String str, Model model) {
        return str;
    }

    @ModelAttribute(value = "key")
    public String fillData1() {
        return "modelAttribute";
    }
}

@ModelAttribute注解如果没有指定name属性【实际是没有指定model对象的属性名】,那么方法的返回值类型的首字母小写就是model对象的属性名,方法返回值就是model对象的属性值

@RequestMapping
@RestController
public class TestController {

    @PostMapping("/test")
    public String test(@ModelAttribute("string") String str, Model model) {
        return str;
    }

    @ModelAttribute
    public String fillData1() {
        return "modelAttribute";
    }
}

(3)@ModelAttribute注释一个方法的参数:按@ModelAttribute指定的名称将model对象属性值取出来赋值给参数

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值