`

转 springMVC3学习(二)--ModelAndView对象

 
阅读更多

当控制器处理完请求时,通常会将包含视图名称或视图对象以及一些模型属性的ModelAndView对象返回到DispatcherServlet。

 

因此,经常需要在控制器中构造ModelAndView对象。ModelAndView类提供了几个重载的构造器和一些方便的方法,

 

让你可以根据自己的喜好来构造ModelAndView对象。这些构造器和方法以类似的方式支持视图名称和视图对象。

 

当你只有一个模型属性要返回时,可以在构造器中指定该属性来构造ModelAndView对象

 

 

 

在上篇的基础上,只修改Login类

 

  1. package com.itmyhome;  
  2.   
  3. import java.util.ArrayList;  
  4. import java.util.HashMap;  
  5. import java.util.List;  
  6. import java.util.Map;  
  7.   
  8. import org.springframework.stereotype.Controller;  
  9. import org.springframework.web.bind.annotation.RequestMapping;  
  10. import org.springframework.web.servlet.ModelAndView;  
  11.   
  12. @Controller  
  13. public class Login {  
  14.   
  15.     @RequestMapping(value="login")  
  16.     public ModelAndView login(){  
  17.         ModelAndView mav = new ModelAndView();  
  18.         mav.setViewName("welcome"); //返回的文件名  
  19.           
  20.         mav.addObject("message","hello kitty");  
  21.           
  22.         //List  
  23.         List<String> list = new ArrayList<String>();  
  24.         list.add("java");  
  25.         list.add("c++");  
  26.         list.add("oracle");  
  27.         mav.addObject("bookList", list);  
  28.           
  29.         //Map  
  30.         Map<String,String> map = new HashMap<String,String>();  
  31.         map.put("zhangsan""北京");  
  32.         map.put("lisi""上海");  
  33.         map.put("wangwu""深圳");  
  34.         mav.addObject("map",map);  
  35.           
  36.         return mav;  
  37.     }  
  38. }  


亦或如下方法来构建你的ModelAndView对象

  1. @RequestMapping(value="logout")  
  2. public ModelAndView logout(){  
  3.     String message = "欢迎下次光临!";  
  4.     return new ModelAndView("logout","message",message);  
  5. }  

 

然后修改welcome.jsp输出数据

 

遍历集合可使用jstl表达式,需在jsp中引入头文件

 

  1. <%@ 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

 

  1. <body>  
  2.    <!-- 输出普通字符 -->  
  3.    ${message } <br/>  
  4.    <!-- 输出List -->  
  5.    <p>书籍列表</p>  
  6.    <c:forEach items="${bookList}" var="node">  
  7.         <c:out value="${node}"></c:out>  
  8.    </c:forEach>  
  9.    <br/>  
  10.    <br/>  
  11.      
  12.    <!-- 输出Map -->  
  13.    <c:forEach items="${map}" var="node">  
  14.         姓名:<c:out value="${node.key}"></c:out>  
  15.         住址:<c:out value="${node.value}"></c:out>  
  16.         <br/>  
  17.    </c:forEach>  
  18. </body>  


结果如图:

分享到:
评论

相关推荐

    SpringMVC ModelAndView-2021-04-11.txt

    SpringMVC将服务器处理后的结果返回并带给浏览器

    SpringMVC处理模型数据-2.docx

    – ModelAndView: 处理方法返回值类型为 ModelAndView时, 方法体即可通过该对象添加模型数据 – Map及Model: 入参为org.springframework.ui.Model、org.springframework.ui.ModelMap 或 Java.uti.Map 时,处理...

    springmvc开发资料

    3、 处理器映射器找到具体的处理器(可以根据xml配置、注解进行查找),生成处理器对象及处理器拦截器(如果有则生成)一并返回给DispatcherServlet。 4、 DispatcherServlet调用HandlerAdapter处理器适配器。 5、 ...

    springMvc学习资料

    简要概述springmvc Spring C 层框架的核心是 DispatcherServlet,它的作用是将请求分发给不同的后端处理器,也即 使用 ...业务层处理的数据结果和相应的视图拼成一个对象,即我们后面会经常用到的ModelAndView 对象。

    Spring SpringMVC 简单整合

    3、 处理器映射器找到具体的处理器(可以根据xml配置、注解进行查找),生成处理器对象及处理器拦截器(如果有则生成)一并返回给DispatcherServlet。 4、 DispatcherServlet调用HandlerAdapter处理器适配器。 5、 ...

    23道SpringMVC常见面试题.docx

    23道SpringMVC常见面试题 ...2) DispatcherServlet 查询 handlerMapping 找到处理请求的 Controller 3)Controller 调 用 业 务 逻 辑 后 , 返 回 ModelAndView 4)DispatcherServlet 查询 ModelAndVi

    springMVC 详细版本 拦截器源码

    springMVC 拦截器源代码 内有详细文档介绍操作 @Override public void postHandle(HttpServletRequest arg0, HttpServletResponse arg1, Object arg2, ModelAndView arg3) throws Exception { //可以通过...

    springmvc教程

    springmvc经典教程1.MVC:Model-View-Control框架性质的C层要完成的主要工作:封装web请求为一个数据对象、调用业务逻辑层来处理数据对象、返回处理数据结果及相应的视图给用户。2.简要概述springmvcSpring C 层框架...

    SpringMVC工作原理.docx

    3、 处理器映射器找到具体的处理器(可以根据xml配置、注解进行查找),生成处理器对象及处理器拦截器(如果有则生成)一并返回给DispatcherServlet。 4、 DispatcherServlet调用HandlerAdapter处理器适配器。 5、 ...

    jsp 显示springmvc modelmap传递的对象详细介绍

    jsp 显示springmvc modelmap传递的对象 最近在做一个小网站,功能非常基础,决定用springmvc搭建。 遇到一个问题,在controller向前端传值时,比如使用ModelMap传了一个字符串,modelmap.addattribute(“msg”, ...

    Spring MVC 学习笔记

    并返回一个ModelAndView对象(包含模型数据、逻辑视图名); 5、 ModelAndView的逻辑视图名交给ViewResolver解析器, ViewResolver解析器把逻辑视图名解析为具体的View,通过这种策略模式,很容易更换其他视图技术...

    springMVC的工作原理1

    5、Handler对数据处理完成以后将返回一个ModelAndView()对象给DispatcherServlet 6、Handler返回的ModelAndVi

    SSM框架——(SpringMVC+Spring+MyBatis+Maven多模块)整合

    由DispacherServlet控制器查询HanderMapping,找到处理请求的Controller3.Controller调用业务逻辑处理后,返回ModelAndView4.DispacherSerclet查询视图解析器,找到ModelAndView指定的视图5.视图负责将结果显示到...

    Spring MVC 入门实例

    估计你使用的是 GB2312 或者 GBK, 立即转到 UTF-8 上来吧. 分解配置文件. context-param 标签指明我们的配置文件还有 /WEB-INF/database.xml 和 /WEB-INF/applicationContext.xml. ContextLoaderListener...

    SpringMVC注解式开发.docx

    一、@RequestMapping 定义...二、处理器方法的参数 o1. 逐个参数 o2. 校正请求参数名@RequestParam o3. 请求参数中文乱码问题 o4. 对象参数接收 三、处理器方法的返回值 o1. 返回 ModelAndView o2. 返回 String

    Spring MVC 员工管理系统

    ④ 处理器完成业务逻辑的处理后将返回一个ModelAndView给DispatcherServlet,ModelAndView包含了视图逻辑名和渲染视图时需要用到的模型数据对象; ⑤ 由于ModelAndView中包含的是视图逻辑名,DispatcherServlet必须...

    java查看sun包源码-ssm-parent:SpringMVC+Spring+Mybatis演示

    Spring是一个轻量级的控制反转(IOC)和面向切面(AOP)的容器架构,IOC容器包含并管理应用对象的配置和生命周期,你可以配置你的每个bean如何被创建,也可以配置每个bean是只有一个实例,还是每次需要时都生成一个...

    ML精选面试题(选题中).docx

    (3)、 处理器映射器(HandlerMapping)找到具体的处理器(可以根据xml配置、注解进行查找),生成处理器对象及处理器拦截器(如果有则生成)一并返回给DispatcherServlet(前端控制器)。 (4)、 DispatcherServlet...

    SSM框架原理,作用及使用方法

    是标准的MVC模式,将整个系统划分为表现层,controller层,service层,DAO层四层使用springMVC负责请求的转发和视图管理spring实现业务对象管理,mybatis作为数据对象的持久化引擎SpringMVC:1.客户端发送请求到...

    Spring in Action(第2版)中文版

    目录 第一部分spring的核心 ...b.2.2断言modelandview的内容 b.3使用spring进行综合测试 b.3.1测试装配后的对象 b.3.2综合测试事务处理对象 b.3.3测试数据库 b.3.4使用gienahtesting在junit4中进行测试 b.4小结

Global site tag (gtag.js) - Google Analytics