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

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

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

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

示例:

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

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

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

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

示例程序:

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

页面获取:

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

3 > 数据modelAndView返回一个集合

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

示例:

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

前台页面获取方式:

request:${requestScope.message}<br/>
<c:forEach items="${requestScope.users }"var="u">
${u.name }-${u.age }-${u.birth }<br/>
</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。

示例:

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

页面调用:

request:${requestScope.message}<br/>
session:${sessionScope.message }<br/>
application:${applicationScope.message}<br/>
<hr/>
<h1>ModelMap中的数据</h1>
${requestScope.message}<br/>
${requestScope.user.name}<br/>
<p>列表</p>
<c:forEach items="${requestScope.users}" var="u">
${u.name }-${u.age }-${u.birth }<br/>
</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. Square Numbers UVA - 11461(水题)

    #include <iostream> #include <cstdio> #include <sstream> #include <cstring> ...

  2. 【BZOJ1488】[HNOI2009]图的同构(Burside引理,Polya定理)

    [BZOJ1488][HNOI2009]图的同构(Burside引理,Polya定理) 题面 BZOJ 洛谷 题解 求本质不同的方案数,很明显就是群论这套理论了. 置换一共有\(n!\)个,考虑如何对 ...

  3. BZOJ 4873 [Shoi2017]寿司餐厅 | 网络流 最大权闭合子图

    链接 BZOJ 4873 题解 当年的省选题--还记得蒟蒻的我Day1 20分滚粗-- 这道题是个最大权闭合子图的套路题.严重怀疑出题人就是先画好了图然后照着图编了个3000字的题面.和我喜欢的妹子当 ...

  4. 洛谷 P1144 最短路计数 解题报告

    P1144 最短路计数 题目描述 给出一个\(N\)个顶点\(M\)条边的无向无权图,顶点编号为\(1-N\).问从顶点1开始,到其他每个点的最短路有几条. 输入输出格式 输入格式: 第一行包含2个正 ...

  5. 解题:国家集训队 Middle

    题面 求中位数的套路:二分,大于等于的设为1,小于的设为-1 于是可以从小到大排序后依次加入可持久化线段树,这样每次只会变化一个位置 那左右端点是区间怎么办? 先把中间的算上,然后维护每个区间左右两侧 ...

  6. SP422 TRANSP2 - Transposing is Even More Fun——置换群+反演

    挺神仙的置换题 SP422 TRANSP2 - Transposing is Even More Fun 这个博客除了开始举例子别的都是对的: https://blog.csdn.net/Braket ...

  7. Oracle 11g DRCP连接方式——基本原理

    学习Oracle是一个复杂.繁琐的过程.在浩如烟海的Oracle官方资料.新特性.MOS资料和各种Internal知识面前,我们总是觉得力不从心.不知所措.但是,这往往也就是我们不断坚持.积累和追寻的 ...

  8. JAVA字符串格式化-String.format()的使用 【生成随机数补0操作】

    转: JAVA字符串格式化-String.format()的使用 常规类型的格式化 String类的format()方法用于创建格式化的字符串以及连接多个字符串对象.熟悉C语言的同学应该记得C语言的s ...

  9. Linux上shell脚本,字符串转ASCII码

    在shell脚本里,将字符串转ASCII码的方法: [keysystem@localhost ~]$ printf "%d" "'A" [keysystem@l ...

  10. Nginx反向代理1--基本介绍-虚拟主机

    1   Nginx 1.1   什么是nginx Nginx是一款高性能的http 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器.由俄罗斯的程序设计师Igor Sysoev所开发, ...