@RequestMapping注解的简单学习 和 @requestParam @PathVariable
来源:互联网 发布:杭创软件 编辑:程序博客网 时间:2024/06/10 17:06
从第一次接触到@RequestMapping注解,我们就知道是帮助spring匹配url需要调用的方法,来执行方法的。与struts2的方法动态调用不同,但是有可以自由设置。
@RequestMapping 中的属性还可以设置value 和request的类型,可以设置为post 和get
[如下]
@Controller@RequestMapping("/appointments")public class AppointmentsController { private final AppointmentBook appointmentBook; @Autowired public AppointmentsController(AppointmentBook appointmentBook) { this.appointmentBook = appointmentBook; } @RequestMapping(method = RequestMethod.GET) public Map<String, Appointment> get() { return appointmentBook.getAppointmentsForToday(); } @RequestMapping(value="/{day}", method = RequestMethod.GET) public Map<String, Appointment> getForDay(@PathVariable @DateTimeFormat(iso=ISO.DATE) Date day, Model model) { return appointmentBook.getAppointmentsForDay(day); } @RequestMapping(value="/new", method = RequestMethod.GET) public AppointmentForm getNewForm() { return new AppointmentForm(); } @RequestMapping(method = RequestMethod.POST) public String add(@Valid AppointmentForm appointment, BindingResult result) { if (result.hasErrors()) { return "appointments/new"; } appointmentBook.addAppointment(appointment); return "redirect:/appointments"; }}
URL模板模式
那么现在我们来说说@RequestMapping和@PathVariable组合来拿到 url传来的值。
@RequestMapping(value="/owners/{ownerId}", method=RequestMethod.GET)public String findOwner(@PathVariable String ownerId, Model model) { Owner owner = ownerService.findOwner(ownerId); model.addAttribute("owner", owner); return "displayOwner"; }
如上: 我们可以用http://localhost:8080/springMVC/example/owners/aa
则 ownerId 的值为 aa
那我们怎么摸索出来传多个值呢??
@RequestMapping(value ="/user/{id}&{name}", method=RequestMethod .GET)
public String findOwner( @PathVariable String id,@PathVariable String name,Model model){
model.addAttribute ("message", id);
System.out .print( name);
return "helloWorld" ;
}
http://localhost:8080/springMVC_2/example/user/aa&vc
则id的值是aa name 为vc
URL模板模式和正则表达式(这个真的是很巧妙啊,对url变量做个验证)
@RequestMapping("/spring-web/{symbolicName:[a-z-]+}-{version:\d\.\d\.\d}.{extension:\.[a-z]}") public void handle(@PathVariable String version, @PathVariable String extension) { // ... }}
我们再来讲讲@RequestParam(我们常见的传值方法如:localhost:8080/user?id=11)
@Controller@RequestMapping("/pets")@SessionAttributes("pet")public class EditPetForm { // ... @RequestMapping(method = RequestMethod.GET) public String setupForm(@RequestParam("petId") int petId, ModelMap model) { Pet pet = this.clinic.loadPet(petId); model.addAttribute("pet", pet); return "petForm"; } // ...
而且我们还可以弄默认值哦~~
@RequestParam(value="id", required=false)
@Controller@RequestMapping("/pets")@SessionAttributes("pet")public class EditPetForm { // ... @RequestMapping(method = RequestMethod.GET) public String setupForm(@RequestParam(value="petId",defaultValue="12",required=false) int petId, ModelMap model) { Pet pet = this.clinic.loadPet(petId); model.addAttribute("pet", pet); return "petForm"; } // ...
- @RequestMapping注解的简单学习 和 @requestParam @PathVariable
- springmvc的@RequestMapping、@PathVariable、@RequestParam
- springmvc的@RequestMapping、@PathVariable、@RequestParam
- spring 注解@PathVariable和@RequestParam的区别
- @RequestMapping和RequestParam注解的使用
- @RequestMapping和RequestParam注解的使用
- springMVC的@RequestParam注解和@PathVariable注解的区别
- springMVC的@RequestParam注解和@PathVariable注解的区别
- springMVC的@RequestParam注解和@PathVariable注解的区别
- SpringMVC常用注解實例詳解1:@Controller,@RequestMapping,@RequestParam,@PathVariable
- SpringMVC常用注解實例詳解1:@Controller,@RequestMapping,@RequestParam,@PathVariable
- SpringMVC常用注解實例詳解1:@Controller,@RequestMapping,@RequestParam,@PathVariable
- spring mvc 中@pathvariable和@RequestParam注解的区别
- @PathVariable和@RequestParam的区别
- @PathVariable和@RequestParam的区别
- @PathVariable和@RequestParam的区别
- @PathVariable和@RequestParam的区别
- @PathVariable和@RequestParam的区别
- 总结一些Objective-C的self.用法
- 如何屏蔽iPhone、iPad、iTouch上的屏幕截图功能
- MySQL基础语法
- 一个简单的内核线程
- Linux C++备忘录
- @RequestMapping注解的简单学习 和 @requestParam @PathVariable
- 魔幻计时器
- windows程序设计_第6章_键盘——学习笔记
- 数据仓库基本概念-事实表的三种分类
- This function has none of DETERMINISTIC, NO SQL解决办法
- Xcode调试技巧
- ASP.NET中获取URL重写前的原始地址详解
- 将拥有相同字段的数据项合并
- jsonArray 和 JavaBean互换