springmvc学习(四)

重新复习了一下springmvc

  • 从如何创建一个简单的springmvc 例子,
  • springmvc执行流程,配置
  • springmvc 如何接受请求参数
  • requestMapping的使用

      之前粗略了解springmvc如何绑定 基本参数  对象 等,今天说一说springmvc的返回值

  1. 返回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>

     

     

  2. 返回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";
        }

     



  3. 返回值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返回值类型的不同情况,如果有哪里不多 或者需要补充的  可以留言。。帮助即使更正

posted on 2018-12-24 17:00  年少不知愁  阅读(154)  评论(0编辑  收藏  举报