SpringMVC参数传递方式list,map
2014-12-31 13:54
399 查看
本文是基于SpringMVC注解的方式来实现页面与后台之间参数的传递,本文主要侧重于从后台传递到前台view。
内容:
1、后台传递单个对象User到前台;
2、后台传递集合对象到前台(分Map和List两种情形)
下面的内容基于SpringMVC工程配置已经准备好,该工程是用maven搭建的。
一:传递单个对象(以用户对象User为例)
User类:
[align=left]Controller类:[/align]
[align=left]param.jsp页面:[/align]
二:传递Map集合对象(以Map<String,User>为例)
User类同上;
Controller类:
param.jsp页面:
三:传递List集合对象(以List<User>为例)
User类同上;
Controller类:
param.jsp页面:
内容:
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; } }
[align=left]Controller类:[/align]
@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" ; } }
[align=left]param.jsp页面:[/align]
<%@ 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>
相关文章推荐
- springmvc 传递复杂对象参数报 property path is neither an array nor a List nor a Map
- springMVC 参数传递之:数组,Map,List,Set以及自定义复杂类型参数
- springmvc不同方式控制器实现与参数传递
- springMVC参数的传递方式
- springMVC参数的传递方式
- springMVC参数的传递方式
- MyBatis多参数传递之Map方式示例——MyBatis学习笔记之十三 推荐
- springMVC参数的传递方式(1.通过@PathVariabl获取路径参数,2.@ModelAttribute获取数据,3.HttpServletRequest取参,4@RequestParam)
- SpringMVC之前台post方式传递的json格式参数无法到后台
- springMVC中前台向后台传递参数的方式
- SpringMVC参数传递方式
- MyBatis多参数传递之Map方式示例
- SpringMVC的Controller方法的参数不能直接绑定List、Set、Map
- Hadoop中传递list/Map/对象型参数的传递
- Struts2+OGNL传递参数List,Map的一个小例子
- std::list/vector 作为函数参数的传递方式
- MyBatis多参数传递之Map方式示例——MyBatis学习笔记之十三
- SpringMVC的controller方法中注解方式传List参数使用@RequestBody
- SpringMVC源代码学习外传(二)如何在重定向时传递参数&FlashMap
- springMVC入门--传递参数的方式