mvc-java的MVC模式View与Model的交互

问题描述

java的MVC模式View与Model的交互

MVC中,Model传递数据给View,Model可以通过观察者模式的notify的方式告诉View做出响应。应该也可以通过Controller实现和View的交互吧?这样做有必要吗?如果有,可以举个例子吗,谢谢

解决方案

是的,MVC模式其实也可以精简成“VC”模式,因为V和C打交道,V也和M打交道,而M和V是不相干的。所以可以把MC写在一起。
但是这么做编写稍微大一些的程序就发现不方便了,因为很多时候业务是重复的,你同时创建一个手机的页面和一个PC的页面,显然是两个控制器吧,但是公用一样的逻辑,这种情况下把Model独立出来,那么就可以跨Controller复用。修改起来,也只要修改一处。再比如,商品的Model,在订单、购物车、列表等很多地方也都有,这样的逻辑复用数不胜数,这就是为什么要把MVC都分开的原因啊。你自己去体会下。

解决方案二:

如果你有兴趣,还可以google如下关键字:

mvp模式
mvvm模式
mvc 出血模型 失血模型

解决方案三:

model是模型层,一般只负责封装、储存。而controller负责对view的操作和对model的数据处理。C从M调用数据,然后传递给V。或者C从V获得数据
然后封装进M

解决方案四:

MVC模式视图都不是和模型直接互交的,都经过控制器来操作,简单的jq无刷新例子就是控制器读取你模型写好的数据库查询方法,然后视图读取你控制器的方法,就这样就可以刷新视图数据了,其实不难理解,多找点mvc架构的资料看看,或者亲自动手搭建mvc框架,这样自己就能更好的理解了。

解决方案五:

java web 的 mvc设计思想, 就是 控制层(control)和视图层(view)互动的。。。。

时间: 2024-09-10 10:43:29

mvc-java的MVC模式View与Model的交互的相关文章

MVVM模式中ViewModel和View、Model有什么区别?

  这篇文章主要介绍了MVVM模式中ViewModel和View.Model有什么区别?本文分别解释了它们的功能和作用,然后总结了它之间的区别,需要的朋友可以参考下 Model:很简单,就是业务逻辑相关的数据对象,通常从数据库映射而来,我们可以说是与数据库对应的model. View:也很简单,就是展现出来的用户界面. 基本上,绝大多数软件所做的工作无非就是从数据存储中读出数据,展现到用户界面上,然后从用户界面接收输入,写入到数据存储里面去.所以,对于数据存储(model)和界面(view)这两

图片- uploadify 带一个值上传文件,JAVA spring MVC 获取不到值?

问题描述 uploadify 带一个值上传文件,JAVA spring MVC 获取不到值? $(document).ready( function() { $('#file_upload').uploadify( { 'swf' : '${root}uploadify/uploadify.swf',//上传按钮的图片,默认是这个flash文件 'uploader' : '${root}importFile', //上传所处理的服务器 'cancelImg' : 'uploadfiy/uploa

ASP.NET MVC 5 入门教程 (4) View和ViewBag

原文:ASP.NET MVC 5 入门教程 (4) View和ViewBag 文章来源: Slark.NET-博客园 http://www.cnblogs.com/slark/p/mvc-5-get-started-view.html 上一节:ASP.NET MVC 5 入门教程 (3) 路由Route 下一节:ASP.NET MVC5 + EF6 入门教程 (5) Model和Entity Framework 源码下载:点我下载 View(视图)用来显示被controller处理好的数据.本节

MVVM模式中ViewModel和View、Model有什么区别?_javascript技巧

Model:很简单,就是业务逻辑相关的数据对象,通常从数据库映射而来,我们可以说是与数据库对应的model. View:也很简单,就是展现出来的用户界面. 基本上,绝大多数软件所做的工作无非就是从数据存储中读出数据,展现到用户界面上,然后从用户界面接收输入,写入到数据存储里面去.所以,对于数据存储(model)和界面(view)这两层,大家基本没什么异议.但是,如何把model展现到view上,以及如何把数据从view写入到model里,不同的人有不同的意见. MVC派的看法是,界面上的每个变化

Java Spring MVC 上传下载文件配置及controller方法详解_java

下载: 1.在spring-mvc中配置(用于100M以下的文件下载) <bean class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter"> <property name="messageConverters"> <list> <!--配置下载返回类型--> <bean class="or

java spring mvc怎么设置全局增删改方法为post请求

问题描述 java spring mvc怎么设置全局增删改方法为post请求 我不想在每个增删改方法注解的形式表明此方法为post请求,想在配置文件中设置全局的以add*updata*等开头的方法为post请求 解决方案 @Controller@RequestMapping(value=""t""method=RequestMethod.POST)public class TestController {...} 解决方案二: @Controller@Request

MVC+LINQToSQL的Repository模式之(三)Repository模式实现统一CURD操作,实现EF中的Find主键查找

namespace Data.TEST { /// <summary> /// 数据通用操作实现 /// </summary> /// <typeparam name="TEntity"></typeparam> public class Repository<TEntity> : TESTRepositoryBase, IRepository<TEntity> where TEntity : class,IEnt

MVC+LINQToSQL的Repository模式之(二)数据基类

namespace Data.TEST{    /// <summary>    /// 数据操作基类    /// </summary>    public abstract class TESTRepositoryBase    {        /// <summary>        /// 数据库基类        /// </summary>        protected Entity.TEST.LinqTESTDataContext _db

MVC+LINQToSQL的Repository模式之(五)BLL层实现IOC

namespace Service {     public class Service<TEntity> : IService<TEntity> where TEntity : class,Entity.IEntity     {         private IRepository<TEntity> iRepository = null;         public Service()         {             iRepository = ne