`
Frederick
  • 浏览: 117763 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

Spring学习日记 - ModelAndView的构造

阅读更多
    ModelAndView的构造方法有7个。但是它们都是相通的。这里使用无参构造函数来举例说明如何构造ModelAndView实例。
   
ModelAndView()
    这个构造方法构造出来的ModelAndView不能直接使用,应为它没有指定view,也没有绑定对应的model对象。当然,model对象不是必须的,但是view确实必须的。
    用这个构造方法构造的实例主要用来在以后往其中加view设置和model对象。
   
    给ModelAndView实例设置view的方法有两个:setViewName(String viewName) 和 setView(View view)。前者是使用view name,后者是使用预先构造好的View对象。其中前者比较常用。事实上View是一个接口,而不是一个可以构造的具体类,我们只能通过其他途径来获取View的实例。对于view name,它既可以是jsp的名字,也可以是tiles定义的名字,取决于使用的ViewNameResolver如何理解这个view name。

    如何获取View的实例以后再研究。

而对应如何给ModelAndView实例设置model则比较复杂。有三个方法可以使用:
addObject(Object modelObject)
addObject(String modelName, Object modelObject)
addAllObjects(Map modelMap)
ModelAndView可以接收Object类型的对象,ModelAndView将它视为其众多model中的一个。当使用Object类型的对象的时候,必须指定一个名字。ModelAndView也可以接收没有明显名字的对象,原因在于ModelAndView将调用spring自己定义的Conventions 类的.getVariableName()方法来为这个model生成一个名字。显然,对model而言,名字是必须的。
Conventions.getVariableName()生成名字的规则是使用对象的类名的小写模式来作model名字。当这个model是集合或数组的时候,使用集合的第一个元素的类名加s来作model的名字。
ModelAndView也可以接收Map类型的对象,ModelAndView将这个Map中的元素视为model,而不是把这个Map本身视为model。但是其他的集合类可以用本身作为model对象。

实际上,ModelAndView对model的支持来自于类ModelMap,这个类继承自HashMap。

分享到:
评论
1 楼 It_lvshun 2013-07-17  
谢谢分享

相关推荐

    spring-framework-master

    3. **Web模块**:包含Web和Web-Servlet模块,为基于Servlet的Web应用提供了基础支持,如DispatcherServlet、ModelAndView等。 4. **AOP(面向切面编程)模块**:提供了面向切面的编程实现,允许开发者定义“切面”...

    spring-web-5.2.3.RELEASE和spring-webmvc-5.2.3.RELEASE

    视图通常由模板引擎(如JSP、Thymeleaf或Freemarker)渲染,Spring MVC提供了ModelAndView或者Model接口来管理模型数据。 总的来说,Spring Web和Spring Web MVC是Spring框架的重要组件,它们为Java Web开发提供了...

    spring-mvc-showcase

    综上所述,"spring-mvc-showcase"项目不仅是一个学习Spring MVC的绝佳资源,也是实践和理解MVC设计模式的有效途径。通过对这个项目的深入研究,开发者能够掌握Spring MVC的精髓,提升Web应用开发的效率和质量。

    spring-mvc开发所有jar包【4.3.4】

    3. **spring-webmvc-4.3.4.RELEASE.jar**:Spring MVC的主要实现模块,负责处理HTTP请求和响应,提供了DispatcherServlet、ModelAndView、HandlerMapping、ViewResolver等关键组件,实现了MVC模式。 4. **spring-...

    spring-framework-bom源码

    1. **依赖管理**:Spring Framework BOM主要负责定义Spring家族所有模块的版本,包括Spring Core、Spring Beans、Spring Context、Spring AOP、Spring JDBC等。通过在你的Maven `dependencyManagement` 部分引入BOM...

    spring-framework-2.5.6

    《Spring框架2.5.6版本详解》 Spring框架,作为Java开发领域中的核心框架之一,自诞生以来就以其强大的功能、优秀的...通过深入学习并实践,我们可以更好地利用Spring框架的强大功能,构建出高效、稳定的企业级应用。

    spring-framework-3.0.5.RELEASE-dependencies

    此外,还可能包含对其他流行框架和库的支持,如SpringMvc的DispatcherServlet、ModelAndView等,以及对第三方技术如Apache Commons、log4j的日志管理等。 标签"spring-frame"则直接指向了Spring框架本身,强调了本...

    spring-framework-5.0.2.RELEASE-中文注释版-终极完美版.rar

    在使用Spring 5.0.2.RELEASE中文注释版时,开发者可以清晰地理解每个类、接口和方法的功能,这对于深入学习和掌握Spring至关重要。例如,`org.springframework.beans.factory.BeanFactory`接口定义了容器的基本操作...

    Spring MVC step-by-step 源码

    Spring MVC 是一个强大的Java Web开发框架,用于构建高效、可维护的Web应用程序。它基于Spring框架,提供了模型-视图-控制器(MVC)架构,简化了开发过程。本资源"Spring MVC step-by-step 源码"是针对初学者准备的...

    官方原版spring-framework-5.0.4.RELEASE.rar

    5. **Web模块**:Spring Web模块支持创建MVC风格的Web应用,包括DispatcherServlet、ModelAndView、ViewController等概念,使得处理HTTP请求变得更加便捷。 6. **Spring MVC**:Spring的Model-View-Controller架构...

    spring-mvc-study.zip

    总的来说,"spring-mvc-study.zip"项目是一个很好的学习和实践Spring MVC的起点,涵盖了从项目结构、Maven依赖管理到Spring MVC核心组件的使用等多个方面。通过这个项目,你可以深入理解Spring MVC的工作原理,提升...

    spring-framework-4.2.4.RELEASE.rar

    在这个压缩包中,用户可以找到Spring的核心组件、源码、文档和其他相关资源,便于学习和开发。 1. **Spring核心**: - **IoC(Inversion of Control)容器**:它是Spring的核心,负责管理对象的生命周期和依赖关系...

    spring-framework-3.2.x-for-eclipse.rar

    《深入剖析Spring Framework 3.2.x:Eclipse开发环境搭建与源码探索...同时,源码分析也是提升编程能力的一个重要途径,通过对Spring源码的学习,你可以了解到优秀软件设计的实践,为自己的项目提供更多的灵感和指导。

    spring-framework-4.1.6.RELEASE-dist.zip

    在Web MVC方面,Spring 4.1.6增强了ModelAndView对象,支持异步处理,提供了更好的异常处理机制,并优化了视图解析。此外,对RESTful服务的支持也得到了加强,使得构建RESTful API更加便捷。 5. **数据访问**: ...

    spring-framework-4.0.3.RELEASE

    - **spring-framework-4.0.3.RELEASE-docs.zip**:包含了详细的官方文档,包括API参考、用户指南、开发者手册等,是学习和使用Spring的重要参考资料。 综上所述,Spring Framework 4.0.3.RELEASE不仅在性能和功能上...

    spring-framework-4.0.1.BUILD-SNAPSHOT-dist

    总的来说,"spring-framework-4.0.1.BUILD-SNAPSHOT-dist"压缩包包含了Spring 4.0.1的所有组件和文档,是学习和使用Spring框架的良好起点。无论是新手还是经验丰富的开发者,都可以从中受益,快速搭建起健壮、高效的...

    translation-spring-mvc-4-documentation, Spring MVC 4.2.4 RELEASE 中文文档完整翻译稿.zip

    这个压缩包"translation-spring-mvc-4-documentation, Spring MVC 4.2.4 RELEASE 中文文档完整翻译稿.zip"包含了Spring MVC 4.2.4版本的官方文档的中文全译版,这对于中文开发者来说是一个极其宝贵的资源,它可以...

    spring-framework-3.0.5.RELEASE

    Spring 框架是 Java 开发中的一个核心框架,它为构建高质量的、组件化的、松耦合的...总的来说,这些文件提供了完整的Spring框架3.0.5.RELEASE环境,包括其依赖和详细的文档,是学习和开发基于Spring的应用的重要资源。

    spring-2.0.8-sources.jar.zip

    在2.0.8中,Spring MVC引入了ModelAndView类,使得模型和视图可以更清晰地分离,同时支持了更多的视图技术,如JSP、FreeMarker等。此外,它还提供了强大的数据绑定和校验功能。 五、事务管理 Spring 2.0.8的事务...

    spring-framework-5.2.25.RELEASE.zip

    《Spring框架5.2.25....通过对这些源码的深入学习,开发者可以更好地理解和利用Spring框架,提升自己的编程技能和解决问题的能力。无论是DI的实现、AOP的织入,还是Web开发的MVC架构,都是值得深入研究的精彩内容。

Global site tag (gtag.js) - Google Analytics