zoukankan      html  css  js  c++  java
  • sring mvc 返回值至jsp界面的几种方式

    Spring 通过Controller 向 View 传值的方法有以下四种

    1. HttpServletRequest
    2. ModelAndView
    3. Map<String, Object> map
    4. Model model

    第一种

    需要参数HttpServletRequest 返回值是jsp页面

    @RequestMapping("/query1.do")

    public String queryUser1(HttpServletRequest request){

        

         String name = "张三";

         request.setAttribute("name", name);

        

         UserInfo user = new UserInfo();

         user.setUserId(9257);

         user.setUserName("华安");

        

         request.setAttribute("user", user);

        

         return "query";

    }

    第二种 ModelAndView 返回值是ModelAndView 参数不需要

    @RequestMapping("/query2.do")

        public ModelAndView queryUser2(){

           

            UserInfo user = new UserInfo();

            user.setUserId(1001);

            user.setUserName("秋香");

           

            //model

            Map<String,Object> map = new HashMap<String,Object>();

            map.put("user2", user);

           

            return new ModelAndView("query",map);

        }

    第三种 参数是Map 返回值是jsp页面

    @RequestMapping("/query3.do")

        public String queryUser3(Map<String,Object> map){

           

            UserInfo user = new UserInfo();

            user.setUserId(1002);

            user.setUserName("石榴");

       

            map.put("user3", user);

           

            return "query";

        }

    第四种 参数是Model 返回值是jsp 使用model的addAttribute方法

    @RequestMapping("/query4.do")

      public String queryUser4(Model  model){

         

         

          UserInfo user  = new UserInfo();

          user.setUserId(1);

          user.setUserName("华夫人");

         

          model.addAttribute("user4", user);

         

          return "query";

      }

    但是无论哪一种方式 简单参数或对象都可以通过变量名来显示

    userId:${user4.userId }

    userName:${user4.userName }

    但是数组的返回值会显示则会有问题,如:直接返回数组

        @RequestMapping("/query5.do")

        public String queryUser5(Model  model){

            UserInfo user  = new UserInfo();

            user.setUserId(1);

            user.setUserName("华夫人");

           

            List<UserInfo> list = new ArrayList<UserInfo>();

           

            list.add(user);

            list.add(user);

            list.add(user);

           

            model.addAttribute("list", list);

           

            return "query";

        }

       

    userId:${list}

    list:[UserInfo [userId=1, userPw=null, userName=华夫人, userAge=null, userBrithday=null, xqs=null], UserInfo [userId=1, userPw=null, userName=华夫人, userAge=null, userBrithday=null, xqs=null], UserInfo [userId=1, userPw=null, userName=华夫人, userAge=null, userBrithday=null, xqs=null]]

  • 相关阅读:
    git基本使用
    list和tuple
    牛客(60)把二叉树打印成多行
    牛客(59)按之字形顺序打印二叉树
    牛客(58)对称的二叉树
    牛客(57)二叉树的下一个结点
    牛客(56)删除链表中重复的结点
    牛客(55)链表中环的入口结点
    mybits(1)配置
    牛客(53)表示数值的字符串
  • 原文地址:https://www.cnblogs.com/oftenlin/p/4199844.html
Copyright © 2011-2022 走看看