SpringMVC的其他注解
2021-05-12 14:28
标签:执行 code key restfull 返回值 基本数据类型 com boolean eth 1、RequestMapper 加在方法上, 给处理用户请求的方法绑定一个url 加在类上, 作为url上一级目录, 窄化请求 2、@GetMapping -->简化 (method = RequestMethod.GET) 在方法上, 给方法绑定一个url,但是处理的请求方式只能get 3、@PostMapping 在方法上, 给方法绑定一个url,但是处理的请求方式只能post 4、@RequestParam 请求参数与方法参数进行映射 如果前端没有传递这个相同name的数据类型, springMVC给参数赋的值是null, 如果参数是基本数据类型, 会抛异常, 因为, 基本数据类型不能接收null 如果请求参数的name与方法的参数名不一样, 想进行映射: 使用@RequestParam 5、 @ModelAttribute 加在方法上, 表示这个方法. 在每一次处理方法执行之前执行 如果方法有返回值, 把这个返回值的结果保存Model(默认是:request域), key就是注解的name参数的值 加在参数上, 表示从Model中获取对应name的值, 赋值给参数 6、@SessionAttributes 加在Controller类上, 把model(request域)中的属性,拷贝一份存放到session域 7、@SessionAttributes(names = {"user"}) 把Controller类上, 把model(request域)中的name为user的属性,拷贝一份存放到session域 8、@PathVariable: 映射,加在参数上, 在RestFull风格使用到,把RestFull风格的url占位符映射到参数 9、@RestController: SpringMVC的其他注解 标签:执行 code key restfull 返回值 基本数据类型 com boolean eth 原文地址:https://www.cnblogs.com/64Byte/p/13140167.html基于Controller层的注解
属性: value/path: 绑定的url method: 默认就是get/post都能处理, 枚举类型, RequestMethod
@RequestMapping(value="/sayHello.action",method = RequestMethod.GET)
@Controller
@RequestMapping("/user")//窄化请求 url,项目名+user+sayHello.action
public class UserController {
属性:
>value/name: 请求参数的name
>defaultValue: 默认值, 如果请求参数没有这个name值, 给方法参数赋默认值
public ModelAndView findUser(@RequestParam(name = "uid",defaultValue = "33")int id) {
>required: boolean类型, true, 表示请求参数必须有这个值,如果没有抛异常: 默认值false , False: 不是必须. 请求参数可有可无
public ModelAndView findUser(@RequestParam(name = "uid",required = true)int id) {
@ModelAttribute(name = "user")
public User test1() {
User user = new User();
user.setId(1048);
user.setUsername("王五");
return user;
}
@RequestMapping("/fun3.action")
// 表示user参数 获取的Model的name为user的值
// 如果前端没有传递数据, 参数从Model中获取, 如果Model也没有, 赋值为null
public ModelAndView fun3(@ModelAttribute("user") User user) {
System.out.println("fun3....");
ModelAndView modelAndView = new ModelAndView();
System.out.println(user);
modelAndView.setViewName("hello");
return modelAndView;
}
@Controller
@RequestMapping("/test")
@SessionAttributes(names = {"user","hello"})
public class TestController {