SpringMVC-常用注解

1、 RequestParam注解

作用:把请求中的指定名称的参数传递给控制器中的形参赋值

属性 :

          value:请求参数中的名称

          required:请求参数中是否必须提供此参数,默认值是true

@Controller
public class Controller01 {
    @RequestMapping("/hello2")
    public String getRequestParam(@RequestParam(name="username") String name){
        System.out.println("第一个springmvc程序");
        System.out.println(name);
        return "success";
    }
}

2、RequestBody注解 

作用:用于获取请求体的内容(注意:get方法不可以)

属性 :required:是否必须有请求体,默认值是true 

代码:

<form action="hello" method="post">
        姓名:<input type="text" name="name"/><br>
        年龄:<input type="text" name="age"/><br>
        生日:<input type="text" name="date"><br/>
        <input type="submit" value="提交">
 </form>
@Controller
public class Controller01 {
    @RequestMapping("/hello")
    public String Hello(@RequestBody String body){
        System.out.println("第一个springmvc程序");
        System.out.println(body);
        return "success";
    }

}

输出结果:

第一个springmvc程序
       name=%E5%8F%B6%E6%88%90%E6%89%AC&age=21&date=2021-04-14 

3、ModelAttribute注解

应用场景 

       当提交表单数据不是完整的实体数据时,保证没有提交的字段使用数据库原来的数据。

作用 

       出现在方法上:表示当前方法会在控制器方法执行前线执行

<form action="modelAttribute" method="post">
   姓名:<input type="text" name="name"/><br>
   年龄:<input type="text" name="age"/><br>
   <input type="submit" value="提交">
</form>

controller类:

修饰的方法有返回值

@Controller
public class Controller01 {

    @RequestMapping("/modelAttribute")
    public String modelAttribute(User user){
        System.out.println("第一个springmvc程序");
        System.out.println(user);
        return "success";
    }

    @ModelAttribute
    public User method(String name){
        User u = new User();
        u.setName(name);
        u.setAge(20);
        u.setDate(new Date());
        return u;
    }
}

 前页面提交的name和age有值,但是日期是null,所以@ModelAttribute注释的方法就可以在对这个日期附上值,在把对象u返回到控制器,属性值。

出现在参数上:获取指定的数据给参数赋值

修饰的方法没有返回值

@Controller
public class Controller01 {
    @RequestMapping("/modelAttribute")
    public String modelAttribute(@ModelAttribute("user") User user){
        System.out.println("第一个springmvc程序");
        System.out.println(user);
        return "success";
    }
  
    @ModelAttribute
    public void method(String name, Map<String,User>map){
        User u = new User();
        u.setName(name);
        u.setAge(20);
        u.setDate(new Date());
        map.put("user",u);
    }

}

 在参数上,获取指定的数据参数赋值给User user。

猜你喜欢

转载自blog.csdn.net/weixin_43725517/article/details/108983649
今日推荐