springMvc常用注解-@ModelAttribute

@ModelAttribute 注解可被应用在方法或方法参数上,注解在方法上的 @ModelAttribute 说明了方法的作用是用于添加一个或多个属性到model上。
这样的方法能接受与 @RequestMapping 注解相同的参数类型,只不过不能直接被映射到具体的
请求上。在同一个控制器中,注解了 @ModelAttribute 的方法实际上会在 @RequestMapping 方
法之前被调用
来个简单栗子:
返回类:

public class JsonData<T> {
    private boolean ret;
    private String msg;
    private T date;
}
@ModelAttribute
    public User check(String param){
        System.out.println("---------------"+param+"-----------");
        User user = new User();
        if("a".equals(param)){
            user.setUsername("a");
        }else{
            user.setUsername("other");
        }
        return user;
    }
    @RequestMapping("/m1")
    @ResponseBody
    public JsonData modelAttribute(String param,@ModelAttribute User user){
        System.out.println(param);
        System.out.println("username:"+user.getUsername());
        return new JsonData(true,param);
    }

请求:http://localhost/m1?param=a
结果:{“ret”:true,”msg”:null,”date”:”a”}
由此可以看出@ModelAttribute注解在@RequestMapping 方法之前被调用 。
所以:@ModelAttribute 方法通常被用来填充一些公共需要的属性或数据,比如一个下拉列表所预设
的几种状态,或者宠物的几种类型,或者去取得一个HTML表单渲染所需要的命令对象,比
如 Account 等

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值