springMVC3学习--ModelAndView对象(转)

简介: 原文链接:springMVC3学习(二)--ModelAndView对象   当控制器处理完请求时,通常会将包含视图名称或视图对象以及一些模型属性的ModelAndView对象返回到DispatcherServlet。

原文链接:springMVC3学习(二)--ModelAndView对象

 

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

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

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

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

 

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

 


 
 在CODE上查看代码片派生到我的代码片
  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对象

 

 


 
 在CODE上查看代码片派生到我的代码片
  1. @RequestMapping(value="logout")  
  2. public ModelAndView logout(){  
  3.     String message = "欢迎下次光临!";  
  4.     return new ModelAndView("logout","message",message);  
  5. }  

 

然后修改welcome.jsp输出数据

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

 


 
 在CODE上查看代码片派生到我的代码片
  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

 


 
 在CODE上查看代码片派生到我的代码片
  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>  
 

 

 

结果如图:

目录
相关文章
|
7月前
|
应用服务中间件
SpringMVC中的@RequestMapping注解的详细介绍过程~
SpringMVC中的@RequestMapping注解的详细介绍过程~
|
5月前
【SpringMVC】SpringMVC方式,向作用域对象共享数据(ModelAndView、Model、map、ModelMap)
【SpringMVC】SpringMVC方式,向作用域对象共享数据(ModelAndView、Model、map、ModelMap)
32 1
|
6月前
|
Java Spring
springMVC中获取request 对象
springMVC中获取request 对象
|
9月前
SpringMVC@RequestMapping相关属性
SpringMVC@RequestMapping相关属性
25 0
|
前端开发 Java 定位技术
SpringMVC之ModelAndView类详细分析(全)
目录前言1. 方法2. 配置3. addObject 添加对象详解4. 重定向 前言 通过查看源码可以得知 这个类主要是 在web MVC框架中的模型和视图的Holder。 请注意,这些是完全不同的。 这个类仅仅保存了两者,使得控制器可以在一个返回值中同时返回模型和视图。 表示处理程序返回的模型和视图,由DispatcherServlet解析。 视图可以采用String视图名的形式,需要通过ViewResolver对象解析; 或者,可以直接指定一个View对象。 该模型是一个Map,允许使用多个按名称键控
161 0
SpringMVC之ModelAndView类详细分析(全)
|
11月前
|
前端开发
springmvc中model类和ModelAndView
springmvc中model类和ModelAndView
|
11月前
|
前端开发 Java Spring
SPRING框架中ModelAndView、Model、ModelMap区别
SPRING框架中ModelAndView、Model、ModelMap区别
|
XML 算法 网络协议
享读SpringMVC源码1-Handler与HandlerMapping关系
享读SpringMVC源码1-Handler与HandlerMapping关系
|
Web App开发 XML 前端开发
SSM-SpringMVC-21:SpringMVC中处理器方法之返回值Object篇
------------吾亦无他,唯手熟尔,谦卑若愚,好学若饥-------------     今天要记录的是处理方法,返回值为Object的那种,我给它分了一下类: 1.返回值为Object数值(例如1),2.
1374 0