==================
Spring MVC同步请求
==================
通过表单和超链接(URL)提交的请求为同步请求。
控制器在接收到前端提交的请求并获取其中的数据以后,如何跳转到另一个页面?
- 控制器方法返回String或ModelAndView类型的对象,其中包含目标页面的路径。
1 目标页面
/src/main/webapp/addBookSuccess.jsp:
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
添加图书成功
添加图书成功
2 返回String对象
2.1 转发
/src/main/java/cn/tedu/springmvc/controllers/BookController.java:
@Controller
@RequestMapping("/BookController")
public class BookController {
...
@RequestMapping("/addBook")
public String addBook(@RequestParam("name") String name,
@RequestParam("author") String author,
@RequestParam("price") double price) {
System.out.println("控制器> 添加一本图书");
System.out.println("控制器> 书名:" + name);
System.out.println("控制器> 作者:" + author);
System.out.println("控制器> 价格:" + price);
return "/addBookSuccess.jsp";
}
...
}
2.2 重定向
/src/main/java/cn/tedu/springmvc/controllers/BookController.java:
@Controller
@RequestMapping("/BookController")
public class BookController {
...
@RequestMapping("/addBook")
public String addBook(@RequestParam("name") String name,
@RequestParam("author") String author,
@RequestParam("price") double price) {
System.out.println("控制器> 添加一本图书");
System.out.println("控制器> 书名:" + name);
System.out.println("控制器> 作者:" + author);
System.out.println("控制器> 价格:" + price);
return "redirect:/addBookSuccess.jsp";
}
...
}
3 返回ModelAndView对象
3.1 转发
/src/main/java/cn/tedu/springmvc/controllers/BookController.java:
@Controller
@RequestMapping("/BookController")
public class BookController {
...
@RequestMapping("/addBook")
public ModelAndView addBook(@RequestParam("name") String name,
@RequestParam("author") String author,
@RequestParam("price") double price) {
System.out.println("控制器> 添加一本图书");
System.out.println("控制器> 书名:" + name);
System.out.println("控制器> 作者:" + author);
System.out.println("控制器> 价格:" + price);
return new ModelAndView("/addBookSuccess.jsp");
}
...
}
3.2 重定向
/src/main/java/cn/tedu/springmvc/controllers/BookController.java:
@Controller
@RequestMapping("/BookController")
public class BookController {
...
@RequestMapping("/addBook")
public ModelAndView addBook(@RequestParam("name") String name,
@RequestParam("author") String author,
@RequestParam("price") double price) {
System.out.println("控制器> 添加一本图书");
System.out.println("控制器> 书名:" + name);
System.out.println("控制器> 作者:" + author);
System.out.println("控制器> 价格:" + price);
return new ModelAndView("redirect:/addBookSuccess.jsp");
}
...
}
例程:SpringMVC