当前位置: 代码迷 >> 综合 >> SpringMVC-常用注解
  详细解决方案

SpringMVC-常用注解

热度:74   发布时间:2024-02-27 03:30:50.0

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";}@ModelAttributepublic 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";}@ModelAttributepublic 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。

 

  相关解决方案