springMVC3学习--ModelAndView对象(转)
原文链接:springMVC3学习(二)--ModelAndView对象
当控制器处理完请求时,通常会将包含视图名称或视图对象以及一些模型属性的ModelAndView对象返回到DispatcherServlet。
因此,经常需要在控制器中构造ModelAndView对象。ModelAndView类提供了几个重载的构造器和一些方便的方法,
让你可以根据自己的喜好来构造ModelAndView对象。这些构造器和方法以类似的方式支持视图名称和视图对象。
当你只有一个模型属性要返回时,可以在构造器中指定该属性来构造ModelAndView对象
在上篇的基础上,只修改Login类
- package com.itmyhome;
- import java.util.ArrayList;
- import java.util.HashMap;
- import java.util.List;
- import java.util.Map;
- import org.springframework.stereotype.Controller;
- import org.springframework.web.bind.annotation.RequestMapping;
- import org.springframework.web.servlet.ModelAndView;
- @Controller
- public class Login {
- @RequestMapping(value="login")
- public ModelAndView login(){
- ModelAndView mav = new ModelAndView();
- mav.setViewName("welcome"); //返回的文件名
- mav.addObject("message","hello kitty");
- //List
- List<String> list = new ArrayList<String>();
- list.add("java");
- list.add("c++");
- list.add("oracle");
- mav.addObject("bookList", list);
- //Map
- Map<String,String> map = new HashMap<String,String>();
- map.put("zhangsan", "北京");
- map.put("lisi", "上海");
- map.put("wangwu", "深圳");
- mav.addObject("map",map);
- return mav;
- }
- }
亦或如下方法来构建你的ModelAndView对象
- @RequestMapping(value="logout")
- public ModelAndView logout(){
- String message = "欢迎下次光临!";
- return new ModelAndView("logout","message",message);
- }
然后修改welcome.jsp输出数据
遍历集合可使用jstl表达式,需在jsp中引入头文件
- <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
lib下导入jstl.jar和standard.jar。
首先这两个jar在哪里可以找到,当然可以在网上下载。
另外在tomcat下面就有,在\webapps\examples\WEB-INF\lib下
前提是你还没有把webapps下面的一些无用项目删掉。
welcome.jsp
- <body>
- <!-- 输出普通字符 -->
- ${message } <br/>
- <!-- 输出List -->
- <p>书籍列表</p>
- <c:forEach items="${bookList}" var="node">
- <c:out value="${node}"></c:out>
- </c:forEach>
- <br/>
- <br/>
- <!-- 输出Map -->
- <c:forEach items="${map}" var="node">
- 姓名:<c:out value="${node.key}"></c:out>
- 住址:<c:out value="${node.value}"></c:out>
- <br/>
- </c:forEach>
- </body>
结果如图:
springMVC3学习--ModelAndView对象(转)的更多相关文章
- springMVC3学习(二)--ModelAndView对象
当控制器处理完请求时,一般会将包括视图名称或视图对象以及一些模型属性的ModelAndView对象返回到DispatcherServlet. 因此,常常须要在控制器中构造ModelAndView对象. ...
- springMVC3学习(三)--handlerMapping和handlerAdapter
基本结构和 springMVC3学习(一)--框架搭建 差不多,这里不再用Annotation注解的方式 以下只说明需要修改的部分: 1.在Spring配置文件中配置HandlerMapping.Ha ...
- JavaScript学习04 对象
JavaScript学习04 对象 默认对象 日期对象Date, 格式:日期对象名称=new Date([日期参数]) 日期参数: 1.省略(最常用): 2.英文-数值格式:月 日,公元年 [时:分: ...
- Javascript学习4 - 对象和数组
原文:Javascript学习4 - 对象和数组 在Javascript中,对象和数组是两种基本的数据类型,而且它们也是最重要的两种数据类型. 对象是已命名的值的一个集合,而数组是一种特殊对象,它就像 ...
- ModelAndView对象
ModelAndView属性中两个最重要的属性是model和view. view即视图,保存的是视图信息. model即模型,以<K,V>形式保存模型数据,上图可以看到是MdelMap类型 ...
- SpringMVC中ModelAndView对象与“视图解析器”
摘要: spring MVC这个环境中,Spring MVC会依据controller(或者你叫它handler)中处理方法的返回值,进行解析,解析之后提供一个视图,作为响应. 标注了@Control ...
- Spring.NET依赖注入框架学习-- 泛型对象的创建和使用
Spring.NET依赖注入框架学习-- 泛型对象的创建和使用 泛型对象的创建方法和普通对象是一样的. 通过构造器创建泛型对象 下面是一个泛型类的代码: namespace GenericsPlay ...
- spring MVC之构造ModelAndView对象
spring MVC之构造ModelAndView对象 ---------- 构造ModelAndView对象 当控制器处理完请求时,通常会将包含视图名称或视图对象以及一些模型属性的ModelAndV ...
- ModelAndView对象作用
ModelAndView ModelAndView对象有两个作用: 作用一 :设置转向地址,如下所示(这也是ModelAndView和ModelMap的主要区别) ModelAndView mv = ...
随机推荐
- loadrunner java ssh
s D:\TestCase\20170703_docker_rongqiyun\tc_docker_ssh_docker_push\Actions.java /* * LoadRunner Java ...
- mysql -- 逻辑语句
1.if语句 delimiter \\ create procedure p1() begin declare i ; then ; elseif i = then ; else ; end if; ...
- Kafka 0.10问题点滴
15.如何消费内部topic: __consumer_offsets 主要是要让它来格式化:GroupMetadataManager.OffsetsMessageFormatter 最后用看了它的源码 ...
- Hi3519v101-uboot-start.S分析
00032: #include <config.h>00033: #include <version.h> 1)#include <config.h>.config ...
- Hbase记录-Hbase基础概念
HBase是什么? HBase是建立在Hadoop文件系统之上的分布式面向列的数据库.它是一个开源项目,是横向扩展的. HBase是一个数据模型,类似于谷歌的大表设计,可以提供快速随机访问海量结构化数 ...
- 使用rownum对oracle分页【原】
以Student表为例进行分页 建表及插入 -- 有表结构如下 create table STUDENT ( sno INTEGER, sname ), sage INTEGER ); -- 插入数据 ...
- Hystrix介绍以及服务的降级限流熔断
(dubbo熔断,Hystrix问的少) 无论是缓存层还是存储层都会有出错的概率,可以将它们视同为资源.作为并发量较大的系统,假如有一个资源不可用,可能会造成线程全部 hang (挂起)在这个资源上, ...
- A+B (带有,的数字)
题目描述 给定两个整数A和B,其表示形式是:从个位开始,每三位数用逗号","隔开. 现在请计算A+B的结果,并以正常形式输出. 输入描述: 输入包含多组数据数据,每组数据占一行,由 ...
- Ubuntu18.04下vim的tab缩进设置为4个空格
在/etc/vim/vimrc最后添加如下内容 set ts = 4 set exbandtab set autoindent
- Python杀死windows进程
import os import pandas as pd """ TCP 192.168.1.155:63758 129.211.126.69:4730 ESTABLI ...