• springmvc 之 处理方法的返回值类型


    1. void: 并且没有使用servletapi进行跳转,那么默认会将请求名作为试图名进行跳转。

    @RequestMapping("/login")
        public void login(User user){
        }

    结果:

    void: 在参数中使用了servletapi,并且在方法中使用servletapi进行了跳转。那么按照servletapi跳转的位置进行跳转。

    @RequestMapping("/login")
        public void login(HttpServletRequest req,HttpServletResponse resp){
            try {
                req.getRequestDispatcher("success.jsp").forward(req, resp);
            } catch (ServletException e) {
                e.printStackTrace();
            } catch (IOException e) {
                e.printStackTrace();
            }
        }

    结果:

    使用servletAPI跳转页面,那么通过servletAPI来携带数据可以的,但是通过mvc的模型数据不能携带数据。

    2. ModelAndView 返回null 的时候,页面不会跳转。

    @RequestMapping("/login")
        public ModelAndView login(){
            System.out.println("login==========");
            return null;
        }

    当返回值没有指定视图名时,默认使用请求名作为视图名进行跳转。

    @RequestMapping("/login")
        public ModelAndView login(){
            return new ModelAndView();
        }

    当返回值指定了视图名,那么按照指定的试图名进行跳转。

    3. String: 如果返回值时null,那么以请求名作为视图名跳转。

          如果指定返回值,那么按照指定返回值作为视图名进行跳转,可以通过model,modelmap等携带数据

          如果返回值时带有“forword” 或者 “redired” 前缀,那么将会进行相应的请求转发和重定向,不能通过mvc的数据模型携带数据,可以通过servletApi来携带数据。

    4. 其他类型:只能在异步时可以通过json返回。

  • 相关阅读:
    linux下的内存映射函数mmap详解及示例代码
    Android平台上使用属性系统(property system)
    Android筆記
    Android Prelink
    DataGridView BindingSource BindNavigator
    可排序的ListView
    开源2D绘图组件ZedGraph
    BackgroundWorker示例
    级联datagridview 利用datarelation和bindingsource
    继承DataGridView
  • 原文地址:https://www.cnblogs.com/forever2h/p/6802442.html
Copyright © 2020-2023  润新知