springmvc学习(四)
重新复习了一下springmvc
- 从如何创建一个简单的springmvc 例子,
- springmvc执行流程,配置
- springmvc 如何接受请求参数
- requestMapping的使用
之前粗略了解springmvc如何绑定 基本参数 对象 等,今天说一说springmvc的返回值
- 返回ModelAndView
@RequestMapping(value = "index") public ModelAndView index() { ModelAndView mv = new ModelAndView(); //设置jsp类容 返回前端请求 mv.addObject("result", "后台返回index1"); //设置视图名字 mv.setViewName("result"); return mv; }
jsp内容:
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>输出提示</title> </head> <body> ${ result } </body> </html>
- 返回String 类型返回的是(视图名):
@RequestMapping(value = "index1") public String index1(Model model) { model.addAttribute("result", "后台返回String类型"); return "result"; }
所有的请求 默认都会有 model 通过 model.addAttribut可以设置值 (如果不用model 同样可以 返回 只是返回的是一个 空的页面) result 是 视图名称(我这边是 result.jsp)
jsp页面:<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>输出提示</title> </head> <body> ${ result } </body> </html>
还有一种类似于请求转发或者重定向的方式:
@RequestMapping(value = "disString") public String disString(Model model) throws ServletException, IOException { model.addAttribute("result", "信息"); System.out.println("执行请求"); //此种方法返回类似 重定向 或者请求转发的功能 return "forward:disResponse.action"; }
- 返回值void:
1:可以单独的处理一个逻辑业务 什么也不返回,但是一般来说执行完一个请求 都会有页面的跳转 (成功 或者失败 最少应该有吧) 如果实在不需要也可以
2:前面说过 springmvc 是基于servlet的 servlet 可以通过 HttpServletRequest 和HttpServletResponse 请求转发:
@RequestMapping(value = "disRequest") public void disRequest(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { request.setAttribute("result", "request的方法请求转发"); request.getRequestDispatcher("/WEB-INF/jsp/result.jsp").forward(request, response); }
3:通过重定向的方式 返回
@RequestMapping(value = "disResponse") public void disResponse(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { response.sendRedirect("disRequest.action"); System.out.println("执行请求"); }
以上就是关于springmvc返回值类型的不同情况,如果有哪里不多 或者需要补充的 可以留言。。帮助即使更正