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 ...
随机推荐
- SVN Update Error: Please execute the 'Cleanup' command
尝试用下面两种方法 svn clean up 中有一个选项break lock勾选上 把对应的文件来里的.svn里面的lock文件删除. svn local delete, incoming dele ...
- c语言基础——基本数据类型
1.基本数据类型是什么?包括有哪些代表?除了基本数据类型还有什么其他类型形式? (1)基本数据类型--用于描述基本的数据 (数.日期等) (2)有整型.实型.字符型.枚举类型等等 ========== ...
- MySQL存储引擎 - Myisam和Innodb
Mysql有两种存储引擎:InnoDB与Myisam,下表是两种引擎的简单对比 MyISAM InnoDB 构成上的区别: 每个MyISAM在磁盘上存储成三个文件.第一个 文件的名字以表的名字开始 ...
- 【bzoj2001】 Hnoi2010—City 城市建设
http://www.lydsy.com/JudgeOnline/problem.php?id=2001 (题目链接) 题意 给出一张无向图,$m$组操作,每次修改一条边的权值,对于每次操作输出修改之 ...
- 4.Kali 1.0 / 2.0 安装中文输入法(谷歌pinyin + 其他)
搜狗输入法安装可以参考这个:http://www.cnblogs.com/dunitian/p/6662374.html 1.kali默认是没有中午输入法的,需要自己安装一下 2.首先我们先获取roo ...
- java application maven项目打自定义zip包
1.配置pom.xml文件,添加build节点 <build> <!-- 输出的包名 --> <finalName>p2p</finalName> &l ...
- 无焦点下获取条码枪返回值的Hook(再次改良版)
针对上一个版本再次改良,上除掉无用代码,新手绝对可以看懂! using System; using System.Collections.Generic; using System.Linq; usi ...
- webpack插件自动加css3前缀
想要webpack帮忙自动加上“-webkit-”之类的css前缀,我们需要用到postcss-loader和它的插件autoprefixer 1.安装 npm i postcss-loader au ...
- SQL记录-PLSQL条件控制
PL/SQL条件控制 决策结构需要程序员指定一个或多个条件要计算,或由程序进行测试,如果条件被确定为真那么一条或多条语句被执行,如果要被执行的其它语句条件被确定为假,则选其它执行块. 以下是从在大 ...
- Solr记录-solr检索和查询数据
Solr检索数据 在本章中,我们将讨论如何使用Java Client API检索数据.假设有一个名为sample.csv的.csv文档,其中包含以下内容. 001,9848022337,Hyderab ...