本文共 3717 字,大约阅读时间需要 12 分钟。
http://127.0.0.1/item/queryItem.action?id=1 查询,GEThttp://127.0.0.1/item/saveItem.action 新增,POST
使用RESTful操作资源 :可以通过不同的请求方式来实现不同的效果!如下:请求地址一样,但是功能可以不同!
http://127.0.0.1/item/1 查询,GEThttp://127.0.0.1/item 新增,POST
@Controllerpublic class RestFulController { @RequestMapping(value = "/r1/{n1}/{n2}") public String test1(@PathVariable int n1, @PathVariable int n2, Model model) { int result = n1 + n2; model.addAttribute("msg", "结果为:" + result); return "test"; }}
@RequestMapping(value = "/r1/{n1}/{n2}") public String test1(@PathVariable int n1, @PathVariable String n2, Model model) { String result = n1 + n2; model.addAttribute("msg", "结果为:" + result); return "test"; }
@RequestMapping(value = "/r1/{n1}/{n2}", method = { RequestMethod.POST}) public String test1(@PathVariable int n1, @PathVariable String n2, Model model) { String result = n1 + n2; model.addAttribute("msg", "结果为:" + result); return "test"; }
Spring MVC 的 @RequestMapping 注解能够处理 HTTP 请求的方法, 比如 GET, PUT, POST, DELETE 以及 PATCH。
所有的地址栏请求默认都会是 HTTP GET 类型的。
方法级别的注解变体有如下几个:组合注解, 平时使用的会比较多!
@GetMapping
@PostMapping @PutMapping @DeleteMapping @PatchMapping它所扮演的是 @RequestMapping(method =RequestMethod.GET) 的一个快捷方式。
@RequestMapping(value = "/r2") public String test2(String name, Model model) { model.addAttribute("msg", "结果为:" + name); return "test"; }
@RequestMapping(value = "/r2") public String test2(@RequestParam(value = "username") String name, Model model) { model.addAttribute("msg", "结果为:" + name); return "test"; }
public class User { private String name; private int age; private String hobby;}
@RequestMapping(value = "/r3") public String test3(User user, Model model) { model.addAttribute("msg", "结果为:" + user.toString()); return "test"; }
@RequestMapping(value = "/r5") public ModelAndView test45(ModelAndView modelAndView) { modelAndView.addObject("msg", "我是 ModelAndView"); modelAndView.setViewName("test"); return modelAndView; }
@RequestMapping(value = "/r4") public String test4(ModelMap modelMap) { modelMap.addAttribute("msg", "我是 modelMap"); return "test"; }
@RequestMapping(value = "/r3") public String test3(User user, Model model) { model.addAttribute("msg", "结果为:" + user.toString()); return "test"; }
Model 只有寥寥几个方法只适合用于储存数据,简化了新手对于Model对象的操作和理解;
ModelMap 继承了 LinkedMap ,除了实现了自身的一些方法,同样的继承 LinkedMap 的方法和特性;
ModelAndView 可以在储存数据的同时,可以进行设置返回的逻辑视图,进行控制展示层的跳转。
转载地址:http://wnsci.baihongyu.com/