zoukankan      html  css  js  c++  java
  • SpringMVC之数据存储

    1、使用request域对象存储数据:将请求中的参数存储在request中,使用setAttribute()方法可以在jsp页面访问该属性。

    @RequestMapping("/test17")
    public String test17(HttpServletRequest request String name) throws IOException {
        request.setAttribute("name", name);
        return SUCCESS;
    }
    

     

    2、使用session域对象存储数据:

    // 存储数据:session
    @RequestMapping("/test18")
    public String test18(HttpSession session, String name) throws IOException {
        session.setAttribute("name", name);
        return SUCCESS;
    }
    

     

    3、使用ModelAndView存储数据,有两个作用:

    作用一:设置转向地址,如下所示(这也是ModelAndView和ModelMap的主要区别)
    ModelAndView view = new ModelAndView("path:ok");

    作用二: 用于传递控制方法处理结果数据到结果页面,也就是说我们把需要在结果页面上需要的数据放到ModelAndView对象中即可,他的作用类似于request对象的setAttribute方法的作用,用来在一个请求过程中传递处理的数据。通过以下方法向页面传递参数:
    addObject(String key,Object value);

    在页面上可以通过el表达式$key或者bboss的一系列数据展示标签获取并展示ModelAndView中的数据。

    ModelAndView既可以存储八大基本类型的数据,也可以存储List、Set、Map类型的集合。

    // 存储数据:ModelAndView
    @RequestMapping("/test19")
    public ModelAndView test19(String name) throws IOException {
        ModelAndView mav = new ModelAndView(SUCCESS);
        ArrayList<String> list = new ArrayList<String>();
        list.add("Anna");
        list.add("Jay");
        list.add("Joe");
        list.add("John");
        mav.addObject("list", list);
        
        HashMap<String, Integer> map = new HashMap<String, Integer>();
        map.put("a", 12);
        map.put("b", 23);
        map.put("c", 34);
        mav.addObject("map", map);
        mav.addObject("name", name);
        return mav;
    }
    

     

     4、使用Model对象存储数据

    // 存储数据:Model
    @RequestMapping("/test20")
    public String test20(Model model) {
        model.addAttribute("name", "任我行");
        ArrayList<String> list = new ArrayList<String>();
        list.add("Anna");
        list.add("Jay");
        list.add("Joe");
        list.add("John");
        model.addAttribute("list", list);
        
        HashMap<String, Integer> map = new HashMap<String, Integer>();
        map.put("a", 12);
        map.put("b", 23);
        map.put("c", 34);
        model.addAttribute("map", map);
        return SUCCESS;
    }
    

     

    5、使用Map存储数据

    // 存储数据:Map
    @RequestMapping("/test21")
    public String test21(Map<String, Object> map) {
        map.put("name", "任我行");
        ArrayList<String> list = new ArrayList<String>();
        list.add("Anna");
        list.add("Jay");
        list.add("Joe");
        list.add("John");
        map.put("list", list);
        return SUCCESS;
    }
    

    6、使用ModelMap存储数据:

      ModelMap对象主要用于传递控制方法处理数据到结果页面,也就是说我们把结果页面上需要的数据放到ModelMap对象中即可,他的作用类似于request对象的setAttribute方法的作用,用来在一个请求过程中传递处理的数据。通过以下方法向页面传递参数:
    addAttribute(String key,Object value);
      在页面上可以通过el表达式$key或者bboss的一系列数据展示标签获取并展示modelmap中的数据。 modelmap本身不能设置页面跳转的url地址别名或者物理跳转地址,那么我们可以通过控制器方法的返回值来设置跳转url地址别名或者物理跳转地址。

    // 存储数据:使用ModelMap存储数据
    @RequestMapping("/test23")
    public String test23(String name, Integer age, ModelMap model) {
        model.addAttribute("name", name);
        model.addAttribute("age", age);
        return SUCCESS;
    }
    

    6、将请求参数保存一份到session当中

    在类上加上注解:@SessionAttributes

    @SessionAttributes(names={"name", "age"}, types={String.class, Integer.class})
    

     方法代码:

    // 存储数据:将请求参数保存一份到session当中
    @RequestMapping("/test22")
    public String test22(String name, Integer age, ModelMap model) {
        return SUCCESS;
    }
    

     结果:

  • 相关阅读:
    Randomization Tests
    关于Spring中的<context:annotationconfig/>配置
    PUT method support
    在对话框picture control中利用opengl进行绘图
    【学习笔记】《卓有成效的管理者》 第三章 我能贡献什么
    程序员的黄金时代
    nginx webdav配置
    iphone4s 如何强制关机
    并查集
    实战虚拟化存储设计之三MultiPathing
  • 原文地址:https://www.cnblogs.com/snow1234/p/7619777.html
Copyright © 2011-2022 走看看