- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
通过MVC模式将Web视图和逻辑代码分离
通过MVC模式将Web视图和逻辑代码分离
MVC模式(Model-View-Controller)常被用在Web程序中。如Struts框架就是一个基于MVC模式的Web框架。所谓MVC模式,就是将视图(也就是客户端代码,包括html、javascript等)和模型(和数据库及业务逻辑相关的Java代码)分开。并通过控制器将两者联系起来。这样做的好处可以使客户端开发人员和服务端开发人员的工作尽量分开,以使他们之间的干扰降到最低。虽然象Struts这样的框架可以很好地Model和View分离。但是对于客户端的代码,仍然存在着一定的视图和逻辑混合的现象。如下面的代码所示:<!DOCTYPE HTML PUBLIC -//W3C//DTD HTML 4.01 Transitional//EN><html><head><title></title><meta http-equiv=Content-Type content=text/html; charset=UTF-8><script type=text/javascript >function fun1(obj) { }function fun2() { }</script> </head><body><input type=button value=按钮1 onclick=fun1(this)/><input type=button value=按钮2 onclick=fun2()/></body> </html>从上面的代码可以看出,html代码和javascript代码都混在了同一个html文件中。在一般情况下,客户端的界面是由美工设计的,而对于javascript代码,美工一般是不参与实现的。这些代码一般也应属于业务逻辑代码的一部分,虽然它们都在客户端运行,但可能也会处理一定的业务逻辑,如验证数据的正确性。尤其在AJAX应用中,在客户端还会通过http协议从服务端获取数据。这样就和业务逻辑绑定得更紧了。因此,如果将用于描述界面的html和用于处理业务逻辑的javascript(渲染界面的javascript除外)混在一起,非常不利于团队中负责这两方面的人员进行协调。最好的可能就是将这些javascript代码从html代码中分离。也许有很多人马上就会想到,将这些javascript放到.js文件中,然后使用<script>标签引用一下就ok了。代码如下:fun.js文件function fun1(obj) { ... }function fun2() {... }index.html文件<!DOCTYPE HTML PUBLIC -//W3C//DTD HTML 4.01 Transitional//EN><html><head><title></title><meta http-equiv=Content-Type content=text/html; charset=UTF-8><script type=text/javascript src=fun.js></script></head><body><input type=button value=按钮1 onclick=fun1(this)/><input type=button value=按钮2 onclick=fun2()/></body> </html>虽然上面的代码从某种程度上达到了视图和逻辑分离的效果。但仍然有着一定的联系。我们可以看到,两个<input>标签的onclick事件不还是引用着fun1和fun2函数吗!其实美工人员是不关心这两个函数到底是做什么的,甚至并不需要知道它们的存在。那么是否有更高的方法呢?答案当然是肯定的,就是通过动态的方式指定onclick事件,而这一切美工人员是完全没有感觉的。我们在文章的开头提到了MVC模式。其实在客户端也存在着一个MVC体系结构。我们可以将视图(V)看成是描述界面的html、css和javascript代码,而模型(M)可以看成是处理业务逻辑的javascript代码,而控制器(C)就是将这两类代码连接起来的代码(一般也是javascript代码)。在本文中给出了一个小例子来演示一下如何通过动态的方法将V和M分离。这个例子是通过<div>实现的10个小方块,点击其中的某一个,会将相应的数字追加到下方的文本框架中,并且加入了一些用javascript实现的效果,如以一定间隔随机更新方块和数字的颜色,直接在文本框中输入数字后,相应的文本框和数字的颜色也会随机发生变化。界面效果如图1所示。在本文的最后是程序功能演示。图1 下面先来实现Vi
您可能关注的文档
- 2013财经法规与会计职业道德多项选择题十七.doc
- 2013高考英语:提高做完形填空的准确率.doc
- 2013高考物理一轮总复习:必修2第五章第一节知能演练强化闯关.doc
- 2013高考物理一轮总复习:必修1第三章第二节知能演练强化闯关.doc
- 2014.42安全知识抢答赛活动方案.doc
- 2013高考物理一轮总复习:必修2第五章第三节知能演练强化闯关.doc
- 2014年广西育龙单招考试《高中英语全程复习方略》素能提升演练 选修7 Word版含解析.doc
- 2014届高考历史一轮复习 课时跟踪检测 (人民版):专题十 苏联社会主义建设的经验与教训.doc
- 2014.11.15如何让作文语言亮起来之青春痘采用本_ppt1.ppt
- 2014年春八年级物理下册 6.4 密度知识的应用学案2.doc
最近下载
- 检测实验室可行性报告.docx VIP
- 少儿小学中国经典成语故事英文英语绘本 画蛇添足.pdf
- 中天建设集团外墙饰面砖工程作业标准.pdf VIP
- (高清版)B-T 6113.203-2020 无线电骚扰和抗扰度测量设备和测量方法规范 第2-3部分:无线电骚扰和抗扰度测量方法 辐射骚扰测量.pdf VIP
- EPC总承包采购管理要点.doc VIP
- 中天建设集团项目现场质量红线解读.pdf VIP
- 创精品工程的通病问题jjs.ppt VIP
- 高等数学(第五版)课件 2.1导数的概念.pptx
- 2025黑龙江省建设投资集团有限公司面向系统内部附社会招聘12人笔试参考题库附答案解析.docx VIP
- 人教版四年级下册计算题练习整理打印版20180820.docx VIP
文档评论(0)