ASP.NET MVC(自V1起)就支持一个带控制器和视图的ViewData[]字典,让程序员可以用一种后期绑定的方式从控制器往视图传值。这种方法能用来替代强类型模型类或与之一起使用。下面的代码演示一个常见的例子——一个强类型Product模型通过ViewData[]字典传给视图和两个后期绑定的变量:
在ASP.NET MVC3中,我们引入一个新API,它利用.NET 4中的动态类型支持来设置、返回这些值。它允许你使用标准的“句点”符号来制定需要传输的任何数量的额外变量,而且不需要你定义一个强类型类来实现。
在早前的ASP.NET MVC3的预览版中,我们通过控制器基类中命名为“ViewModel”的动态属性和视图模板中的“View”属性来暴露这个API。 很多人发现这两个不同的名字容易混淆,有些人还说在这个地方使用ViewModel这个名字让人容易混淆——因为你常常在ASP.NET MVC中会创建强类型视图模型(ViewModel)类,而不会不使用这个API。
在RC2中我们在控制器和视图中都暴露了一个同名的动态属性——ViewBag。它是一个动态集合,允许你从控制器传入额外的数据到你的视图模板来帮助生成响应。 下面是一个示例,用来说明我们如何使用它传输一个时间戳信息和一列目录到我们的视图模板:
下面的示例,展示我们的视图模板(强类型,期望返回一个Product类做为它的模型)如何使用我们往Viewbag中传入的信息来生成响应。特别的是,注意我们是如何使用传入动态Viewbag集的一列目录来帮助我们设置Product对象的CategoryID属性的。
上面的控制器/视图绑定然后会生成一个HTML response,如下。
分享到:
相关推荐
<property name="templateLoaderPath" value="/WEB-INF/views/freemarker/"/> <!-- 其他配置 --> </bean> <bean class="org.springframework.web.servlet.view.freemarker.FreeMarkerViewResolver"> ...
它是一种模型-视图-控制器(Model-View-Controller, MVC)设计模式的实现,通过清晰地分离应用程序的不同部分来提高开发效率和维护性。 ##### 1.1 Model-View-Controller (MVC) 设计模式 - **Model(模型)**:...
14. <bean class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter" /> 15. 16. <!-- 对模型视图名称的解析,即在模型视图名称添加前后缀 --> 17. 18. p:prefix="/WEB-...
它作为Spring Framework的一部分,提供了模型-视图-控制器(MVC)架构,简化了开发过程,实现了业务逻辑与表现层的分离。 一、Spring MVC 架构 Spring MVC的核心组件包括: 1. DispatcherServlet:前端控制器,它...
<property name="prefix" value="/WEB-INF/views/"/> <property name="suffix" value=".jsp"/> </bean> ``` 这里的`prefix`是视图文件的前缀,`suffix`是后缀,例如上述配置表示视图文件位于`/WEB-INF/views`目录...
<bean class="org.springframework.web.servlet.mvc.annotation.DefaultAnnotationHandlerMapping"/> <!-- 处理器适配器 --> ...
6. **处理结果返回**:在Controller中,通过ModelAndView对象返回视图名和模型数据,DispatcherServlet根据视图名找到对应的视图模板。 通过上述配置和编程,SpringMVC能实现模型与视图的分离,提高代码的可读性...
SpringMVC 是 Spring 框架的一部分,是一个轻量级的、模型-视图-控制器(MVC)架构的Web应用开发框架。它简化了开发过程,提供了丰富的功能,使得开发者可以专注于业务逻辑,而无需过多关注底层的HTTP处理。本教程将...
<property name="prefix" value="/WEB-INF/views/" /> <property name="suffix" value=".jsp" /> </bean> </beans> ``` 现在,我们可以在`src/main/java/com/tan/maven/springmvc`包下创建控制器类,如`...
<forward name="success" path="/welcome.jsp"/> <forward name="error" path="/login.jsp"/> </action> </action-mappings> </struts-config> ``` ### 核心概念详解 #### 1. 模型(Model) 模型层主要负责...
- Model-View-Controller:模型-视图-控制器,模型处理业务逻辑,控制器处理请求,视图负责展示结果。 SpringMVC 的工作流程如下: 1. 用户发送请求到达 DispatcherServlet。 2. DispatcherServlet 根据请求信息...
Spring MVC 是一个基于Java的轻量级Web应用框架,它实现了Model-View-Controller(MVC)设计模式,主要用于处理Web请求和响应。在Spring框架的整体结构中,Spring MVC是表现层的重要组成部分,用于分离业务逻辑、...
它是一个模型-视图-控制器(MVC)架构的实现,让开发者可以将业务逻辑、数据处理和用户界面分离,提高代码的可维护性和可测试性。对于初学者来说,了解并搭建SpringMVC的基本环境至关重要。下面将详细讲解SpringMVC...
<property name="viewClass" value="org.springframework.web.servlet.view.tiles3.TilesView" /> </bean> <bean id="tilesConfigurer" class="org.springframework.web.servlet.view.tiles3.TilesConfigurer"> ...
- 处理器适配器 (HandlerAdapter):适配器模式的体现,它使得框架可以支持多种类型的处理器,无论处理器如何实现,都可以通过适配器进行调用。 - 处理器 (Handler/Controller):由开发者编写的控制器,负责业务...
Spring MVC 是一个强大的Java Web应用程序开发框架,它提供了一种模型-视图-控制器(Model-View-Controller)架构来组织和处理Web请求。本文将深入探讨Spring MVC框架的工作原理和机制。 首先,我们来看看Spring ...
SpringMVC和MyBatis是两个非常流行的Java Web开发框架,它们在企业级应用中... <property name="configLocation" value="classpath:mybatis-config.xml"/> <property name="dataSource" ref="dataSource"/> </bean> ...
<property name="prefix" value="/WEB-INF/"/> <property name="suffix" value=".jsp"/> </bean> ``` 上述配置表示视图名称会被解析为`/WEB-INF/视图名称.jsp`的形式。例如,如果控制器返回`blog/index`,则最终的...
SpringMVC是Spring框架的一部分,专门用于构建Web应用程序的模型-视图-控制器(MVC)架构。这个接口示例是基于SpringMVC构建的,主要用于处理客户端的JSON请求并返回JSON响应,非常适合初学者学习。 在SpringMVC中...