1.返回值类型是String
- Controller方法返回字符串可以指定逻辑视图的名称,根据视图解析器为物理视图的地址。
@RequestMapping("/testString")
public String testString(Model model) {
System.out.println("testStrng()......");
Order food = new Order("bread", 2.5, 1);
model.addAttribute("order", food);
return "success";
}
<h3>welcome to bread home</h3><br>
商品名称:${order.orderName}<br>
单价:${order.price}<br>
商品数量:${order.num}<br>
商品总价:${order.money}
2.返回值类型是void
如果控制器的方法返回值编写成void,执行程序报404的异常,默认查找JSP页面没有找到。
1.1 默认会跳转到@RequestMapping(value="/testVoid")testVoid的页面。
1.2 可以使用请求转发或者重定向跳转到指定的页面
@RequestMapping("/testVoid")
public void testVoid(HttpServletRequest request, HttpServletResponse response) throws Exception {
System.out.println("testVoid()......");
// 转发
// request.getRequestDispatcher("/WEB-INF/pages/success.jsp").forward(request,response);
// 重定向
// response.sendRedirect(request.getContextPath() + "/index.jsp");
// 设置中文乱码
response.setCharacterEncoding("UTF-8");
response.setContentType("text/html;charset=UTF-8");
response.getWriter().println("HelloWorld" + "你好,世界");
}
3.返回值类型是ModelAndView
ModelAndView对象是Spring提供的一个对象,可以用来调整具体的JSP视图
@RequestMapping("/testModelAndView")
public ModelAndView testModelAndView(Model model) {
System.out.println("testModelAndView()......");
// 创建ModelAndView对像
ModelAndView mv = new ModelAndView();
Order food = new Order("bread", 2.5, 1);
mv.addObject("order", food);
mv.setViewName("/success");
return mv;
}