SpringMVC参数传递方式list,map

 本文是基于SpringMVC注解的方式来实现页面与后台之间参数的传递,本文主要侧重于从后台传递到前台view。
内容:
1、后台传递单个对象User到前台;
2、后台传递集合对象到前台(分Map和List两种情形)
下面的内容基于SpringMVC工程配置已经准备好,该工程是用maven搭建的。
一:传递单个对象(以用户对象User为例)
User类:
public class User {
     private Integer userId;
     //用户名
     private String userName;
     //密码
     private String password;
     public Integer getUserId() {
            return userId;
     }
     public void setUserId(Integer userId) {
            this. userId = userId;
     }
     public String getUserName() {
            return userName;
     }
     public void setUserName(String userName) {
            this. userName = userName;
     }
     public String getPassword() {
            return password;
     }
     public void setPassword(String password) {
            this. password = password;
     }
}

Controller类:
@Controller
@RequestMapping(value="/test" )
public class DemoController {
     @RequestMapping(value= "/param")
     public String   testParam(Model model ){
           User u1 = new User();
            u1.setUserId(1);
            u1.setPassword( "123456");
            u1.setUserName( "张三");
            model.addAttribute( "user", u1);
            return "param" ;
     }
}


param.jsp页面:
<%@ page language ="java" contentType="text/html; charset=utf-8"
    pageEncoding="utf-8"%>
    <%@taglib prefix ="c" uri="http://java.sun.com/jsp/jstl/core" %>
<html>
     <body >
    用户名:${user.userName}
    密码:${user.password}
     </body >
</html>
二:传递Map集合对象(以Map<String,User>为例)
User类同上;
Controller类:
@Controller
@RequestMapping(value="/test" )
public class DemoController {
     @RequestMapping(value= "/param")
     public String  testParam(Model model){
           
            return mapInfo();
     }
     /*
      * ModelAndView:它代表了Spring Web MVC中呈现画面时所使用的Model与View,
      * 由于Java一次只能返回一个物件,所以ModelAndView的作用封装这两个物件,以方便您一次返回Model与View这两个物件。
      * @return
      */
     private ModelAndView mapInfo(){
           Map<String,Object> map = new HashMap<String, Object>(); 
           User u1 = new User();
            u1.setUserId(1);
            u1.setPassword( "123456");
            u1.setUserName( "张三");
           
           User u2 = new User();
            u2.setUserId(1);
            u2.setPassword( "123456");
            u2.setUserName( "张四");
           
            map.put( "user1", u1);
            map.put( "user2", u2);
            /*
            * 1、" param":试图名,即跳转到param.jsp页面
            * 2、"map":传递的对象为map类型
            * 3、map:被传递的对象
            */
            return new ModelAndView( "param", "map", map);
     }
}
param.jsp页面:
<%@ page language ="java" contentType="text/html; charset=utf-8"
    pageEncoding="utf-8"%>
    <%@taglib prefix ="c" uri="http://java.sun.com/jsp/jstl/core" %>
<html>
     <body >
           <c:forEach items ="${requestScope.map}" var= "m"> 
             ${m.key} : ${m.value.userName} <br /> 
          </c:forEach >
     </body >
</html>
三:传递List集合对象(以List<User>为例)
User类同上;
Controller类:
@Controller
@RequestMapping(value="/test" )
public class DemoController {
     @RequestMapping(value= "/param")
     public String  testParam(Model model){
            model.addAttribute( listInfo());
            return "param";
     }
     public @ModelAttribute List<User> listInfo(){
           List<User> list = new ArrayList<User>();
           User u1 = new User();
            u1.setUserId(1);
            u1.setPassword( "123456");
            u1.setUserName( "张三");
           
           User u2 = new User();
            u2.setUserId(1);
            u2.setPassword( "123456");
            u2.setUserName( "张四");
           
           User u3 = new User();
            u3.setUserId(1);
            u3.setPassword( "123456");
            u3.setUserName( "张五");
           
            list.add( u3);
            list.add( u2);
            list.add( u1);
            return list;
     }
}
param.jsp页面:
<%@ page language ="java" contentType="text/html; charset=utf-8"
    pageEncoding="utf-8"%>
    <%@taglib prefix ="c" uri="http://java.sun.com/jsp/jstl/core" %>
<html>
     <body >
         <c:forEach items ="${requestScope.userList}" var= "m"> 
             用户名:${m.userName};密码:${m.password} <br /> 
         </c:forEach >
      </body >
</html>



  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值