站内搜索: 请输入搜索关键词

当前页面: 开发资料首页JSP 专题【50分问大牛】学了几个月struts发现没弄明白基础知识

【50分问大牛】学了几个月struts发现没弄明白基础知识

摘要: 【50分问大牛】学了几个月struts发现没弄明白基础知识


MVC 这里面的v和c都好理解
但是今天突然发现我并没有理解M这一部分,
以前一直这么想的M就是一个简单的javabean
比如我专门写了一个连接数据库的bean 我就想她应该就是一个model了吧 但是今天看到这样一句话

“也就是说Event(事件)导致Controller改变Model或View,或者同时改变两者。只要Controller改变了Models的数据或者属性,所有依赖的View都会自动更新。类似的,只要Controller改变了View,View会从潜在的Model中获取数据来刷新自己。”

我这个就不明白了 ,谁能帮我解释解释,非常感谢,按照我上面所说的我写了一个javabean来连接数据库
那么她就是不可以改变的啊,但是上面的那句话却说“只要Controller改变了Models的数据或者属性,所有依赖的View都会自动更新。类似的,只要Controller改变了View,View会从潜在的Model中获取数据来刷新自己。” 就不明白这句话了,model怎么会改变,View如何刷新,希望牛人能帮我解释一下究竟是什么含义
最好举个咱们实际开发或者生活中的例子,非常非常的非常感谢。


学习


不知道楼主是在那里看到的这句话,也用了很长时间的struts了,觉得明白了,不过看到这句话反而又糊涂了。
是我本来就没明白还是说这句话的人在云山雾罩?


感觉STRUTS太烦琐


其实如果你接触过webwork中的freemark你就会有很好的理解,freemark提供的model,为了显示view,而在struts中没有充分的展示出来。如果采用freemark的model通过不同的model转化获得不同的view 这就是model.


MVC系统中的Model部分从概念上可以分为两类――系统的内部状态和改变系统状态的动作。Struts为Model部分提供了Action和ActionForm对象:所有的Action处理器对象都是开发者从Struts的Action类派生的子类。Action处理器对象封装了具体的处理逻辑,调用业务逻辑模块,并且把响应提交到合适的View组件以产生响应。Struts提供的ActionForm组件对象,它可以通过定义属性描述客户端表单数据。开发者可以从它派生子类对象,利用它和Struts提供的自定义标记库结合可以实现对客户端的表单数据的良好封装和支持,Action处理器对象可以直接对它进行读写,而不再需要和request、response对象进行数据交互。通过ActionForm组件对象实现了对View和Model之间交互的支持。




就是在action的reslut的时候。


M有两个核心功能,数据在对象中的保存和事件机制。
M中的数据值发生了变化,就会触发对应的事件,而C一般都是这些事件的监听器,C捕捉到事件的发生会相应的刷新的V。


model怎么会改变,View如何刷新????
model层也就是你的业务逻辑层,view层提交的数据由控制层负责处理之后,肯定要将数据更新到数据库,也就是你的model层数据改变了,此时model肯定会通过控制层将更新后的数据返还给view层,view层再刷新


学习ing


“M有两个核心功能,数据在对象中的保存和事件机制。”
保存?那不是formbean做的事情吗?
还是糊涂了,比如咱们学习struts中jsp actioon actionform sturts-config.xml
对应的都是那个方面呢? 我感觉jsp对应的是view 没错吧
action对应的C 或许应该加上一个struts-config。xml
那么actionformbean对应的应该是哪一个部分呢? 有点崩溃
一直都是这么感觉 Model部分应该自己写的 但是什么改变不改变崩溃了


大家都这么说model分为 系统内部状态 和 改变系统状态的动作

那么结合实际咱们开发中的例子谁能在这两方面举个例子呢?


我也是Struts初学者,说说我的看法:)错了请大侠指教
Struts并没有把重点放在M层上,它更多的是提供V和C层上的东西,formbean我觉得应该属于控制层,是不是可以这样理解,formbean是控制层进行控制转发的一个手段,就像A公司通过一个货运公司B向C公司发送货物,B用自己的货车把A的货物装起来交给C,但B的货车显然不属于C公司
至于M层,Struts提供了比较大的自用,可以用hibernate之类的持久化技术来实现


嗯 楼上说的好像有点道理
但是我还没有接触hibernate
想以后在弄 现在公司接了一个175W的项目
先期要写文档,我负责struts和mvc这一块 有点崩溃了


这些东西都简单 不会就是你的事了
175W也不多啊 我们都干上亿元的中小型项目


"loveinter()"说得不错,struts主要负责VC两层,M层应该尽力脱离struts的影响,这样就可以更好的维护系统。
MVC结构中C(控制层)应该负责调用M(模型层)来获取数据,同时把获取的数据传递个V(视图层)来显示。
M(模型层)需要完成主要的业务逻辑包括更新数据库信息,从数据库中提取数据 。


没看明白


这个问题问的相当的好,学习中!


还是不懂


M模型层,原则上来说和业务逻辑有关的东西都在这里处理

举个下棋的例子好了,棋盘也就是你的view,你的手也就是你的control.

然后你通过对方不同的走法来处理下棋这个过程,这个过程就是一个业务逻辑,就是你要决定怎么走动旗子,也就是模型改变了,然后你棋盘就改变了.

差不多这样.


up


留意下,正准备看STRUTS


m就是老板.c就是项目经理.v就是你.老板要通过项目经理找你要你做的东西.而不是你直接去给老板东西.之间的传递就是方法.你做的好.给你奖金.也就是刷新了.

这是俺的理解.俺是初学者.不会.不知道这么理解对不对.希望各位老大.给个正确的意见.让俺也好好学学。谢谢!!!


MVC系统中的Model部分从概念上可以分为两类――系统的内部状态和改变系统状态的动作。Struts为Model部分提供了Action和ActionForm对象:所有的Action处理器对象都是开发者从Struts的Action类派生的子类。Action处理器对象封装了具体的处理逻辑,调用业务逻辑模块,并且把响应提交到合适的View组件以产生响应。Struts提供的ActionForm组件对象,它可以通过定义属性描述客户端表单数据。开发者可以从它派生子类对象,利用它和Struts提供的自定义标记库结合可以实现对客户端的表单数据的良好封装和支持,Action处理器对象可以直接对它进行读写,而不再需要和request、response对象进行数据交互。通过ActionForm组件对象实现了对View和Model之间交互的支持。M模型层,原则上来说和业务逻辑有关的东西都在这里处理

举个下棋的例子好了,棋盘也就是你的view,你的手也就是你的control.

然后你通过对方不同的走法来处理下棋这个过程,这个过程就是一个业务逻辑,就是你要决定怎么走动旗子,也就是模型改变了,然后你棋盘就改变了.

差不多这样.





都是大理论没有实例,相当于白讲


http://www.blogjava.net/oksonic/archive/2005/11/06/18370.html
看看这里有没有你需要的。很多视频。


不明白为啥要整个Struts出来,个人觉得这个东东得不偿失



struts本身只是负责V及C层,C层负责调用M层接口实现相应的业务操作.
M要按照细分,可以分为业务逻辑及数据持久化,
M在高层应用中又可用SPRING代表业务逻辑,HIBERNATE代替数据操作即实现完美的MVC
因此在使用STRUTS时应更多考虑如何更好控制,以及怎样显示给客户需要的信息


那句话里说的bean,我理解上是actionform bean的意思,你好好看看actionformbean


对,基本同意,指的是actionform,controller接受请求导致actionform内的值发生改变,此时就应该反映在视图上,刷新指重新绑定


mvc和mvc2有区别:

http://www.google.com/search?hl=zh-CN&q=mvc+mvc2&btnG=Google+%E6%90%9C%E7%B4%A2&lr=






很赞成angel_bear(angelbear)的说法!呵呵


学习


嗯 看着看着就明白点了
看来以前看的东西还是不足 不过在这里和大家讨论真的是非常开心 呵呵


↑返回目录
前一篇: 在struts中什么ActionServlet 我好像编程从来没有用过这东西啊?一般都是写Action
后一篇: 关于二维数组问题