springMVC:将controller中数据传递到jsp页面
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页面的更多相关文章
- struts2中怎么把action中的值传递到jsp页面
对于如何把struts2的action中的值传到jsp页面中,主要的方法有2种: 使用转发视图利用request域中储存所需的值 使用重定向时存储数据进入session使其在jsp中可以获得 下面,让 ...
- 记录-springMVC访问web-inf下文件问题+在jsp页面导入jquery插件路径不对问题
环境:spring + springMvc + mybatis + maven 关于在springMVC环境访问web-inf目录下文件,其一有在springMVC xml文件下加 <!-- 对 ...
- 在JSP页面中调用另一个JSP页面中的变量
在jsp学习中,经常需要在一个jsp页面中调用另一个jsp页面中的变量,下面就这几天的学习,总结一下. jsp页面之间的变量调用有多种方法: 1.通过jsp的内置对象—request对象获取参数: ( ...
- JSP页面中引入另一个JSP页面
一个JSP页面中引入另一个JSP页面,相当于把另一个JSP页面的内容复制到对应位置: <%@include file="date.jsp" %> 一般页面的top和bo ...
- vue中数据接收成功,页面渲染失败
1.vue中数据接收成功,页面渲染失败.代码如下 经过查找资料修改代码为 或是 原因是: 由于 JavaScript 的限制, Vue 不能检测以下变动的数组: 当你利用索引直接设置一个项时,例如: ...
- 关于php中数据提交到当前页面action的问题
关于php中数据提交到当前页面action的问题 2011-06-21 17:45杨超★杰伦 | 分类:PHP | 浏览695次 php中数据提交到当前页面,有人action=“<?php ec ...
- [转]SpringMVC Controller&View数据传递
Spring MVC3在controller和视图之间传递参数的方法: 一, 从controller往视图传递值, controller---->视图 1)简单类型,如int, Stri ...
- SpringMVC的Controller中使用线程安全的初始化
因为SpringMVC的Controller默认是单例, 在这种情况下, Controller中使用的私有变量必须也是单例, 例如各种service, 否则会有多线程访问数据互相修改的问题. 对于需要 ...
- Android开发——fragment中数据传递与刷新UI(更改控件)
数据传递: 1.通过数据库进行数据的传递 如在fragment中将数据保存在数据库中,之后其他的fragment或者activity直接读取数据库中的数据,数据库使用还算简单,这里就不多说,建议使用l ...
随机推荐
- IntelliJ IDEA中文乱码问题
转自 https://blog.csdn.net/m0_37893932/article/details/78280663 1 file->settings->appearence里面有 ...
- anaconda的spyder打不开
因为最近一段时间没有用Spyder,今天使用时,发现Spyder又又打不开了. 之前遇到Spyder打不开的情况时,是根据这里的教程:删除.matplotlib和.spyder两个文件,但这次删除这两 ...
- Hard to prepare 2018 徐州赛区网络预赛
题意: 就是由2k 个数 每次选一个 可以选同样的 围成一个圈 使得相邻的数同或为真 求方案数 解析: 第一个数有2k 种选择 之后的n-2个数 都有2k-1 种选择 第n个数 我们要考虑 它的左右 ...
- Trace 2018徐州赛区网络预赛
题意: 每次给出一个点,然后就会形成两条线,如果后面的矩形覆盖了前面的边,那么这条边就消失了, 最后求剩下的边是多少 题目确保不会完全覆盖 也没有一个矩形在另一个矩形里面 即对于 X1,Y1 X2, ...
- 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=\{ ...
- 【BZOJ3489】A simple rmq problem(KD-Tree)
[BZOJ3489]A simple rmq problem(KD-Tree) 题面 BZOJ 题解 直接做肯定不好做,首先我们知道我们是一个二维平面数点,但是限制区间只能出现一次很不好办,那么我们给 ...
- java JNative调用DLL中带引用类型的方法
DLL中的被调函数有两个参数,第二个参数是int64类型的引用类型,因此创建8byte的MemoryBlock: JNative n = null; try { n = new JNative( ...
- 【洛谷P1462】通往奥格瑞玛的道路
题目大意:给定一个 N 个点,M 条边的无向图,求从 1 号节点到 N 号节点的路径中,满足路径长度不大于 B 的情况下,经过顶点的点权的最大值最小是多少. 题解:最大值最小问题一般采用二分答案.这道 ...
- arcgis计算邻接矩阵
求邻接矩阵 教程链接 http://m.blog.csdn.net/wan_yanyan528/article/details/49175673 (1) 将目标shp文件导出一份副本备用(以省级为 ...
- 转:Xcode打印堆栈信息
2# 分享于 14-11-26 19:15:36 Chrome 39.0.2171.71 Mac OS X 10.10.1 如果只是看调用栈的话,可以使用 lldb 的功能.在你的代码里面打上一个 ...