【Java笔记(59)】SpringMVC中的重定向和RestFul风格
【Java笔记(59)】SpringMVC中的重定向和RestFul风格
SpringMVC中的重定向和RestFul风格
[var1]
方式
返回值
请求转发
return "文件名"
重定向
return "redirect:/文件路径/../文件名.后缀"RestFul风格就是请求链接一样,根据请求方式来执行不同的代码块
采用占位符获取参数"/t1/{a}/{b}"
使用@PathVariable注解获参数
注:该注解只能用在方法参数上
@RequestMapping("/t1/{a}")
public String controller1( int a , )
[var1]
Controller.java
@RequestMapping(path="/t1/{a}/{b}",method = RequestMethod.GET)
public String controller1(@PathVariable int a , @PathVariable int b , Model model) {
model.addAttribute("result" , a + b);
return "result";
}
@RequestMapping(path="/t1/{a}/{b}",method = RequestMethod.POST)
public String controller2(@PathVariable int a , @PathVariable int b , Model model) {
model.addAttribute("result" , a + b);
return "redirect:result";
}
@RequestMapping(path="/t2")
public String controller3(Model model) {
model.addAttribute("result" , "请求转发来了");
return "result";
}
@RequestMapping(path="/t3")
public String controller4(Model model) {
model.addAttribute("result" ,"重定向来了" );
return "redirect:/pages/result.jsp";
}
index.jsp
$Title$首页
MVC中的请求转发和重定向
restful中的请求转发和重定向
[var1]
请求转发
return "result";
return "forward:result"
重定向
mvc只会给我们拼接new HttpServletRequest().getContextPath() 到我们的返回值上,所以在:之后需要有一个/
return "redirect:/pages/result.jsp";//需要写到具体的jsp路径,和后缀
[var1]
请求转发
路径中的{a}占位符,这里的占位符需要和参数名一样
@PathVariable在方法属性上的关键注解
@RequestMapping(path="/t1/{a}/{b}",method = RequestMethod.GET)
public String controller1(@PathVariable int a , @PathVariable int b , Model model)
重定向
restful中的重定向与mvc中的一摸一样,不会有影响
【Java笔记(59)】SpringMVC中的重定向和RestFul风格相关教程