Cris 学 SpringMVC (4): @ModelAttribute 注解

SpringMVC中@ModelAttribute注解详解
本文详细介绍了SpringMVC框架中@ModelAttribute注解的使用方法,通过实例演示了如何利用该注解实现对请求参数的预处理,特别关注了如何在控制器方法执行前获取和设置模型属性。
  • 在方法定义上使用 @ModelAttribute 注解:Spring MVC
    在调用目标处理方法前,会先逐个调用在方法级上标注了
    @ModelAttribute 的方法

  • 示例代码

    /*
     * 有 @ModelAttributes 标记的方法,会在每个目标方法执行之前被springMVC 调用
     */
    @ModelAttribute
    public void getUser(@RequestParam(value="id",required=false) Integer id,
            Map<String, Object> map) {
        System.out.println("modelAttribute method");
        //说明前台发来的请求是修改用户信息的请求
        if(id != null) {
            //模拟从数据库取出对应的数据
            User user = new User(1, "古天绿", "000", "9");
            System.out.println("从数据库取出来还没有修改的数据:"+user);
            map.put("user", user);
        }
    }

    @RequestMapping("testModelAttribute")
    public String testModelAttribute(User user) {

        System.out.println("修改后的user:"+user);

        return SUCCESS;
    }


- helloworld.jsp

    <!-- 
        模拟修改操作
        1. 原始数据为:1,渣渣辉,12312
        2. 密码不能被修改
     -->
    <form action="springMVC/testModelAttribute" method="post">
        <input type="hidden" name="id" value="1">
        姓名:<input type="text" name="name" value="渣渣辉">
        <br>
        密码:<input type="password" name="password" value="123">
        <br>
        年龄:<input type="text" name="age" value="12">
        <br>
        <input type="submit" value="提交">
    </form>
  • 测试图:

mark

mark

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值