- 1、本文档共8页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
mv分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//ENhtml 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//ENhtml head title/title meta http-equiv=Content-Type content=text/html; charset=UTF-8script 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个小方块,点击其中的某一个,会将相应的数
您可能关注的文档
- 次函数y=ax^+bx+c的函数图象和性质.ppt
- 次函数y=ax+bx+c的图象y=ax+bx+c的图象和性质.ppt
- 次函数与一元次方程的关系.ppt
- 次函数与一元次方程次函数与一元次方程的关系.ppt
- 次函数y=ax+bx+c的图像与性质(上课).ppt
- 次函数与一元次方程次函数与一元次方程的关系4.ppt
- 次函数[]课时.ppt
- 次函数与一元次方程的关系2.ppt
- 次函数和一元次方程的关系.ppt
- 次函数图象.ppt
- 江苏南京宁海中学2024届高考考前模拟历史试题含解析.doc
- 2025至2030中国配器行业市场占有率及投资前景评估规划报告.docx
- 南京林业大学《森林生态学理论与应用》2022-2023学年第一学期期末试卷.doc
- 服务行业人员自我提分评估及完整答案详解【夺冠】.docx
- 2025年中国U型紫外线杀菌灯管市场调查研究报告.docx
- 山东省泰安市肥城市2024年高考考前提分生物仿真卷含解析.doc
- 广东省茂名市茂南区2024-2025学年九年级下学期中考第二次模拟考试英语考点及答案.docx
- 山东省德州市乐陵一中2025年高三生物试题第四次联考试题含解析.doc
- 服务行业人员能力检测试卷附参考答案详解(考试直接用).docx
- 服务行业人员能力检测试卷附答案详解(培优).docx
文档评论(0)