zoukankan      html  css  js  c++  java
  • Controller方法的返回值

    方法的返回值
    1、ModelAndView
    这个就不多说,这是最基础的,前面定义一个ModelAndView,中途使用addObject方法添加属性,再返回。视图解析器会自动扫描到的。
    2、String
    这个就有三种情况了:
    <1>return普通的string
    这个string的表示逻辑视图名,真正跳转的视图名=前缀+逻辑视图名+后缀
    返回值为string也可以实现类似于ModelAndView的效果,如何进行给视图值呢?
    我们可以给方法加一个Model的参数,然后调用model的addAttribute方法加信息,三种string的类型都能这样使用
    小例子:
    @RequestMapping(value="/editItems",method={RequestMethod.POST,RequestMethod.GET})
    public String editItem(Model model)throws Exception{
    //...
    ...
    model.addAttribute("itemsCustom",itemsCustom));
    return "items/editItems";
    }
    <2>return "redirect:xxx" xxx是一个Path,重定向,有点感觉吧,哈哈。我们前面的servlet工具类
    <3>return “forward:xxx" xxx是一个Path,转发
    转发和重定向的区别和Servlet中的一样,我们如何判断我们重定向后的信息没有丢失呢?
    我们可以给方法加上一个request参数,然后request.getParameter获取判断
    小例子:
    @RequestMapping("/queryItems")
    public String queryItems(HttpServletRequest request) throws Exception{
    System.out.println(request.getParameter("id"));
    //...
    }

    3、返回void(和我们使用Http的处理器映射器基本一样)
    在controller犯法形参上可以定义request和response,使用request或response指向响应结果:
    1、使用request转向页面,如下:
    request.getRequestDispatcher("页面路径").forward(request,response);

    2、也可以通过response重定向:
    response.sendRedirect("url");

    3、也可以通过response指定响应结果,例如响应json数据:
    response.setCharacterEncoding("utf-8");
    response.setContentType("application/json;charset=utf-8");
    response.getWriter().write("json串)

  • 相关阅读:
    2012619 win7环境Jooma建站手记解决问题
    linux学习(4)ubuntu开机自动挂载nfs服务器上的home分区
    linux学习(3)nginx tomcat集群
    oracle to_date 函数
    inux学习(2)vim设置
    linux学习(1)常用命令入门
    tomcat域名绑定
    tomcat内存溢出问题解决思路
    TreeView控件无限级 一次性加载和异步加载剖析
    数据查询支持中文拼音首字母模糊检索
  • 原文地址:https://www.cnblogs.com/aigeileshei/p/6100041.html
Copyright © 2011-2022 走看看