1> 将方法的返回值该为ModelAndView在返回时,将数据存储在ModelAndView对象中如:

  1. newModelAndView("/WEBINF/jsp/showData.jsp","message",message)

其中第一个参数为url,第二个参数为要传递的数据的key,第三个参数为数据对象。

在这里要注意的是 数据是默认被存放在request中的。

示例:

  1. @RequestMapping(value="/mad/showData_1.do")
  2. public ModelAndView showData_1(){
  3. String message = "这个是要传递的数据";
  4. /*其中第一个参数为url,第二个参数为要传递的数据的key,第三个参数为数据对象。在这里要注意的是:数据是默认被存放在request中的。*/
  5. return new ModelAndView("/WEB-INF/jsp/showData.jsp","message",message);
  6. }

前台页面获取方式: 
request:${requestScope.message}

2> 可以在类的前面添加注解 
@SessionAttributes({“message”,”user”})

  1. 这个注解可以设置对应的model中参数也会在session中存储一份。该注解中的参数为一个集合,
  2. 可以写多个,如上面的例子,其中messageuser都是存储的数据的key.

示例程序:

  1. @SessionAttributes({"message","user"}) //modelAndView中的对应的数据也会在session中存储一份

页面获取:

  1. session:${sessionScope.message}<br/>

3 > 数据modelAndView返回一个集合

该处理方式和上面的处理方式一直,因为modelAndView接受的数据类型是Object的,集合也是一样的处理方式

示例:

  1. //使用modelAndView对象将数据传递到前台。
  2. //传递多个参数(不同类型的)
  3. @RequestMapping(value="/mad/showData_2.do")
  4. public ModelAndView showData_2(){
  5. System.out.println("showData_2");
  6. String message = "这个是要传递的数据";
  7. User user = new User("张三", 12, new Date());
  8. List<User> us= new ArrayList<User>();
  9. us.add(new User("张三", 12, new Date()));
  10. us.add(new User("张四", 13, new Date()));
  11. us.add(new User("张五", 14, new Date()));
  12. ModelAndView mad = new ModelAndView("/WEB-INF/jsp/showData.jsp");
  13. //将数据存入modelMap
  14. mad.addObject("message", message);
  15. mad.addObject(user);//默认为类名的首字母小写
  16. mad.addObject("users", us);
  17. return mad;
  18. }

前台页面获取方式:

  1. request:${requestScope.message}<br/>
  2. <c:forEach items="${requestScope.users }"var="u">
  3. ${u.name }-${u.age }-${u.birth }<br/>
  4. </c:forEach>

4、使用modelAndView传递多个参数。

可以通过ModelAndView的mad.addObject(“message”,message);方法设置参数。 
该方法中第一个参数为数据的key,第二个参数为数据对象。 
也可以使用mad.addObject(user);方法 
该方法中数据的参数为数据对象,数据的key为该对象的类的类名 
(其中首字母小写)。

5、使用ModelMap传递多个数据到jsp中。

在方法的参数列表中添加形参 ModelMap map,spring 会自动创建ModelMap对象。

然后调用map的put(key,value)或者addAttribute(key,value)将数据放入map中,spring会自动将数据存入request。

示例:

  1. //使用modelMap对象将数据传递到前台。
  2. //传递多个参数(不同类型的)
  3. @RequestMapping(value="/mad/showData_3.do")
  4. public String showData_3(ModelMap map){
  5. System.out.println("showData_3");
  6. String message = "这个是要传递的数据";
  7. User user = new User("张三", 12, new Date());
  8. List<User> us= new ArrayList<User>();
  9. us.add(new User("张三", 12, new Date()));
  10. us.add(new User("张四", 13, new Date()));
  11. us.add(new User("张五", 14, new Date()));
  12. //将数据存入modelMap
  13. map.put("message", message);
  14. map.addAttribute("user", user);
  15. map.put("users", us);
  16. return"/WEB-INF/jsp/showData.jsp";
  17. }

页面调用:

  1. request:${requestScope.message}<br/>
  2. session:${sessionScope.message }<br/>
  3. application:${applicationScope.message}<br/>
  4. <hr/>
  5. <h1>ModelMap中的数据</h1>
  6. ${requestScope.message}<br/>
  7. ${requestScope.user.name}<br/>
  8. <p>列表</p>
  9. <c:forEach items="${requestScope.users}" var="u">
  10. ${u.name }-${u.age }-${u.birth }<br/>
  11. </c:forEach>

springMVC:将controller中数据传递到jsp页面的更多相关文章

  1. struts2中怎么把action中的值传递到jsp页面

    对于如何把struts2的action中的值传到jsp页面中,主要的方法有2种: 使用转发视图利用request域中储存所需的值 使用重定向时存储数据进入session使其在jsp中可以获得 下面,让 ...

  2. 记录-springMVC访问web-inf下文件问题+在jsp页面导入jquery插件路径不对问题

    环境:spring + springMvc + mybatis + maven 关于在springMVC环境访问web-inf目录下文件,其一有在springMVC xml文件下加 <!-- 对 ...

  3. 在JSP页面中调用另一个JSP页面中的变量

    在jsp学习中,经常需要在一个jsp页面中调用另一个jsp页面中的变量,下面就这几天的学习,总结一下. jsp页面之间的变量调用有多种方法: 1.通过jsp的内置对象—request对象获取参数: ( ...

  4. JSP页面中引入另一个JSP页面

    一个JSP页面中引入另一个JSP页面,相当于把另一个JSP页面的内容复制到对应位置: <%@include file="date.jsp" %> 一般页面的top和bo ...

  5. vue中数据接收成功,页面渲染失败

    1.vue中数据接收成功,页面渲染失败.代码如下 经过查找资料修改代码为 或是 原因是: 由于 JavaScript 的限制, Vue 不能检测以下变动的数组: 当你利用索引直接设置一个项时,例如:  ...

  6. 关于php中数据提交到当前页面action的问题

    关于php中数据提交到当前页面action的问题 2011-06-21 17:45杨超★杰伦 | 分类:PHP | 浏览695次 php中数据提交到当前页面,有人action=“<?php ec ...

  7. [转]SpringMVC Controller&View数据传递

    Spring MVC3在controller和视图之间传递参数的方法:   一, 从controller往视图传递值, controller---->视图   1)简单类型,如int, Stri ...

  8. SpringMVC的Controller中使用线程安全的初始化

    因为SpringMVC的Controller默认是单例, 在这种情况下, Controller中使用的私有变量必须也是单例, 例如各种service, 否则会有多线程访问数据互相修改的问题. 对于需要 ...

  9. Android开发——fragment中数据传递与刷新UI(更改控件)

    数据传递: 1.通过数据库进行数据的传递 如在fragment中将数据保存在数据库中,之后其他的fragment或者activity直接读取数据库中的数据,数据库使用还算简单,这里就不多说,建议使用l ...

随机推荐

  1. IntelliJ IDEA中文乱码问题

    转自  https://blog.csdn.net/m0_37893932/article/details/78280663 1 file->settings->appearence里面有 ...

  2. anaconda的spyder打不开

    因为最近一段时间没有用Spyder,今天使用时,发现Spyder又又打不开了. 之前遇到Spyder打不开的情况时,是根据这里的教程:删除.matplotlib和.spyder两个文件,但这次删除这两 ...

  3. Hard to prepare 2018 徐州赛区网络预赛

    题意: 就是由2k 个数 每次选一个 可以选同样的 围成一个圈 使得相邻的数同或为真  求方案数 解析: 第一个数有2k 种选择 之后的n-2个数 都有2k-1 种选择 第n个数 我们要考虑 它的左右 ...

  4. Trace 2018徐州赛区网络预赛

    题意: 每次给出一个点,然后就会形成两条线,如果后面的矩形覆盖了前面的边,那么这条边就消失了, 最后求剩下的边是多少 题目确保不会完全覆盖 也没有一个矩形在另一个矩形里面 即对于 X1,Y1  X2, ...

  5. MT【181】横穿四象限

    设函数$f(x)=\dfrac{1}{x-a}-\dfrac{\lambda}{x-2}$,其中$a,\lambda\in R$记$A_1=\{(x,y)|x>0,y>0\},A_2=\{ ...

  6. 【BZOJ3489】A simple rmq problem(KD-Tree)

    [BZOJ3489]A simple rmq problem(KD-Tree) 题面 BZOJ 题解 直接做肯定不好做,首先我们知道我们是一个二维平面数点,但是限制区间只能出现一次很不好办,那么我们给 ...

  7. java JNative调用DLL中带引用类型的方法

    DLL中的被调函数有两个参数,第二个参数是int64类型的引用类型,因此创建8byte的MemoryBlock: JNative n = null;  try {   n = new JNative( ...

  8. 【洛谷P1462】通往奥格瑞玛的道路

    题目大意:给定一个 N 个点,M 条边的无向图,求从 1 号节点到 N 号节点的路径中,满足路径长度不大于 B 的情况下,经过顶点的点权的最大值最小是多少. 题解:最大值最小问题一般采用二分答案.这道 ...

  9. arcgis计算邻接矩阵

    求邻接矩阵 教程链接   http://m.blog.csdn.net/wan_yanyan528/article/details/49175673 (1) 将目标shp文件导出一份副本备用(以省级为 ...

  10. 转:Xcode打印堆栈信息

    2#   分享于 14-11-26 19:15:36 Chrome 39.0.2171.71 Mac OS X 10.10.1 如果只是看调用栈的话,可以使用 lldb 的功能.在你的代码里面打上一个 ...