CN101587435A - 一种实现mvc的方法 - Google Patents

一种实现mvc的方法 Download PDF

Info

Publication number
CN101587435A
CN101587435A CNA200810111953XA CN200810111953A CN101587435A CN 101587435 A CN101587435 A CN 101587435A CN A200810111953X A CNA200810111953X A CN A200810111953XA CN 200810111953 A CN200810111953 A CN 200810111953A CN 101587435 A CN101587435 A CN 101587435A
Authority
CN
China
Prior art keywords
controller
javascript
model
user
page
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CNA200810111953XA
Other languages
English (en)
Inventor
黄平
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Yiqitong It Tech Co Ltd Beijing
Original Assignee
Yiqitong It Tech Co Ltd Beijing
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Yiqitong It Tech Co Ltd Beijing filed Critical Yiqitong It Tech Co Ltd Beijing
Priority to CNA200810111953XA priority Critical patent/CN101587435A/zh
Publication of CN101587435A publication Critical patent/CN101587435A/zh
Pending legal-status Critical Current

Links

Images

Landscapes

  • Stored Programmes (AREA)

Abstract

本发明提供一种实现MVC的方法,javascript作为控制器来实现MVC的方法,在JavaScriptMVC下,模型,视图-用于与用户的交互,用HTML来实现。模型-实现***中的业务逻辑,并且生成HTML代码片段,由JSP来实现。模型主要为视图提供部分代码片段,但是不负责整个页面显示的布局和页面之间切换的控制。控制器-是模型与视图之间沟通的桥梁,它决定取那些模型到页面上来展示。控制器是通过javascript来实现的。本发明通过javascriptMVC,使开发人员操作方便,提高开发效率,快捷地开发程序。由于javascriptMVC是建立在ajax之上的,实现局部刷新页面,也为用户提供更友好的界面,总之,用户体验性很好。

Description

一种实现MVC的方法
技术领域:
本发明涉及Web平台的应用开发环境,特别是涉及一种实现MVC的方法。
背景技术
随着网络技术的不断发展,当前信息化***的建立趋势,是采用B/S结构,用户界面通过WWW浏览器来实现,极少部分事物逻辑在前端实现,但主要事物逻辑在服务器端实现,形成所谓的三层结构MVC。
当前J2EE开发主要是采用MVC模式(Model-View-Controller,模型-视图-控制器模式)。它把软件***分为三个基本部分:模型(Model),视图(View)和控制器(Controller)。MVC模式的目的就是实现Web***的职能分工:
视图-用于与用户的交互,通常用JSP来实现。
模型-实现***中的业务逻辑,通常可以用JavaBean或EJB来实现。
控制器-是模型与视图之间沟通的桥梁,它可以分派用户的请求并选择恰当的视图以用于显示。控制器是通过servlet来实现的。
这种模式存在的问题是:
用户视图之间的切换是页面全刷新,用户可用性不好。
由于控制器是采用servlet实现的,因此,修改的时候往往要重新启动服务器。
基于企业的应用现有的框架并不能完全适合,因此公司内部必须统一开发平台,提高公司的市场竞争力。
发明内容:
本发明为解决上述问题不足之处,提供一种实现MVC的方法,
基于javascript作为控制器来实现MVC模型,
视图-用于与用户的交互,用HTML来实现;
模型-实现***中的业务逻辑,并且生成HTML代码片段,由JSP来实现;
控制器-是模型与视图之间沟通的桥梁,它决定那些模型到页面上来展示。
所述模型-主要为视图提供部分代码片段,但是不负责整个页面显示的布局和页面之间切换的控制。
所述控制器是通过javascript来实现的。
第一步,用户在页面上进行具体操作,WEB服务器调用一个javascript,
第二步,通过AJAX,直接调用后台JAVA实现得到html的代码片段;
第三步,后台JAVA完成后,通过AJAX回调函数,执行一个javascript实现产生的html代码片段设置到对应的DOM上。所述第一步,具体包括
A1.先创建一个控制器对象controller;
A2.组装数据对象;
A3.设置controller的回调函数
A4.设置controller,模型url,domID。
所述第二步,具体包括
B1.判断用户是否登录;
B2.执行业务逻辑;
B3.执行模型url,得到若干的html的代码片段。
所述第三步,具体包括
C1.判断后台程序执行是否有异常,如果有,则提示具体错误信息;如果没有异常,执行下一步C2;
C2.判断用户是否超时了,如果超时,则弹出登录框,请用户重新登录,如果没有超时,执行下一步C3;
C3.判断后台程序执行业务逻辑是否有错误,如果有,则提示具体错误信息,否则执行下一步C4;
C4.根据controller里面设置的模型url,把这些模型url产生的html代码片段设置到对应的DOM上。
本发明的优点:
通过javascriptMVC,使开发人员操作方便,提高开发效率,快捷地开发程序。由于javascriptMVC是建立在ajax(AsynchronousJavaScript+XML)之上的,实现局部刷新页面,也为用户提供更友好的界面,总之,用户体验性很好。
附图说明:
图1是本发明一实施例用户在页面上操作的流程图。
具体实施方式:
本发明的中心思想是,javascript作为控制器来实现MVC的方法[简称JavaScriptMVC],在JavaScriptMVC下,模型,视图和控制器功能如下:
视图-用于与用户的交互,用HTML来实现。
模型-实现***中的业务逻辑,并且生成HTML代码片段,由JSP来实现。模型主要为视图提供部分代码片段,但是不负责整个页面显示的布局和页面之间切换的控制。
控制器-是模型与视图之间沟通的桥梁,它决定那些模型到页面上来展示。控制器是通过javascript来实现的。
视图和模型的逻辑比较简单。而控制逻辑比较复杂,下面将结合附图做详细说明。
如图1所示,用户在页面上操作的具体步骤:
101.用户在页面上进行具体操作,调用一个javascript,实现功能如下:
1011.先创建一个控制器对象controller
1012.组装数据对象
1013.设置controller的回调函数
1014.设置controller若干个(模型url,domID)
102.通过AJAX,直接调用后台JAVA,实现功能如下:
1021.判断用户是否登录;
1022.执行业务逻辑;
1023.执行模型url,得到html的代码片段;
103.后台JAVA方法完成后,通过AJAX回调函数功能,执行一个javascript方法,实现功能如下:
1031.判断后台程序执行是否有异常,如果异常,则提示具体错误信息。如果没有异常,执行下一步1032;
1032.判断用户是否超时了,如果超时,则弹出登录框,请用户重新登录;如果没有超时,执行下一步1033;
1033.判断后台程序执行业务逻辑是否有错误,如果有,则提示具体错误信息;否则执行下一步1034;
1034.根据controller里面设置的模型url,把这些模型url产生的html代码片段设置到对应的DOM上。这个就完成页面布局的变化。
如果controller注册回调函数,那么就执行这个回调函数。
该操作包括增加,修改,删除,返回列表,查看。
更具体的例子,操作为放弃
function addUser(){
      var user={
            name:$(″name″).vlaue,
            address:$(″address″).value
      };
      var controller=new JSController();
      controller.backCallFunc=function(map){
           alert(“增加员工成功”);
      };
      var url=″/os/list.jsp″;
      controller.addOneUrl(url,″commentDiv″);
      JSService.addUser(user,controller);
假设用户在页面点击增加新用户,就执行addUser方法,addUser完成如下功能:
组装数据成成一个javascript对象,
创建一个javascript控制器对象,命名为controller
给controller设置回条函数。
给controller设置(url,domID),可以设置多个。
调用JSService方法addUser,通过ajax技术,就是等价调用java方法addUser。
后台java方法addUser执行以下内容:
判断用户是否登陆。
增加新用户。
根据controller内容已经设置url地址,执行这些url,得到这些url执行结果:html片段。

Claims (7)

1.一种实现MVC的方法,其特征在于;
基于javascript作为控制器来实现MVC模型,
视图-用于与用户的交互,用HTML来实现;
模型-实现***中的业务逻辑,并且生成HTML代码片段,由JSP来实现;
控制器-是模型与视图之间沟通的桥梁,它决定那些模型到页面上来展示。
2.根据权利要求1所述的方法,其特征在于:所述模型主要为视图提供部分代码片段,但是不负责整个页面显示的布局和页面之间切换的控制。
3.根据权利要求1所述的方法,其特征在于:所述控制器是通过javascript来实现的。
4.根据权利要求1所述的方法,其特征在于:包括如下步骤:
第一步,用户在页面上进行具体操作,WEB服务器调用一个javascript,
第二步,通过AJAX,直接调用后台JAVA实现得到html的代码片段;
第三步,后台JAVA完成后,通过AJAX回调函数,执行一个javascript实现产生的html代码片段设置到对应的DOM上。
5.根据权利要求4所述的方法,其特征在于:所述第一步,具体包括
A1.先创建一个控制器对象controller;
A2.组装数据对象;
A3.设置controller的回调函数
A4.设置controller,模型url,domID。
6.根据权利要求4所述的方法,其特征在于:所述第二步,具体包括
B1.判断用户是否登录;
B2.执行业务逻辑;
B3.执行模型url,得到html的代码片段。
7.根据权利要求4所述的方法,其特征在于:所述第三步,具体包括
C1.判断后台程序执行是否有异常,如果有,则提示具体错误信息;如果没有异常,执行下一步;
C2.判断用户是否超时了,如果超时,则弹出登陆框,请用户重新登陆,如果没有超时,执行下一步;
C3.判断后台程序执行业务逻辑是否有错误,如果有,则提示具体错误信息,否则执行下一步;
C4.根据controller里面设置的模型url,把这些模型url产生的html代码片段设置到对应的DOM上。
CNA200810111953XA 2008-05-19 2008-05-19 一种实现mvc的方法 Pending CN101587435A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CNA200810111953XA CN101587435A (zh) 2008-05-19 2008-05-19 一种实现mvc的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CNA200810111953XA CN101587435A (zh) 2008-05-19 2008-05-19 一种实现mvc的方法

Publications (1)

Publication Number Publication Date
CN101587435A true CN101587435A (zh) 2009-11-25

Family

ID=41371692

Family Applications (1)

Application Number Title Priority Date Filing Date
CNA200810111953XA Pending CN101587435A (zh) 2008-05-19 2008-05-19 一种实现mvc的方法

Country Status (1)

Country Link
CN (1) CN101587435A (zh)

Cited By (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102799477A (zh) * 2012-07-16 2012-11-28 中兴通讯股份有限公司 资源访问方法及装置
CN102902537A (zh) * 2012-09-19 2013-01-30 厦门亿联网络技术股份有限公司 基于FastCGI和HTML模板的嵌入式WEB MVC开发框架
CN103257855A (zh) * 2012-12-11 2013-08-21 深圳市梦圆皇宫管理顾问有限公司 一种基于mvc的处理***、处理方法及在美容软件中的应用
CN104461509A (zh) * 2014-11-10 2015-03-25 浪潮(北京)电子信息产业有限公司 一种信息交互架构及方法
CN104484182A (zh) * 2014-12-25 2015-04-01 广东电子工业研究院有限公司 一种弹性可扩展的多数据源mvc模型架构
CN104615431A (zh) * 2015-02-05 2015-05-13 浪潮集团有限公司 一种Web应用的实现方法和装置
CN104685466A (zh) * 2012-08-09 2015-06-03 谷歌公司 用于提供多个视图的浏览器级背景页面
CN105487848A (zh) * 2014-10-08 2016-04-13 Tcl集团股份有限公司 一种3d应用的显示刷新方法及***
CN106339264A (zh) * 2016-08-29 2017-01-18 九次方财富资讯(北京)有限责任公司 基于Ajax异步调用技术实现的双公示数据web页面展示方法和***
CN106339471A (zh) * 2016-08-29 2017-01-18 九次方财富资讯(北京)有限责任公司 基于Ajax请求实现的页面局部刷新双公示数据web展示方法和***
CN106951233A (zh) * 2017-03-02 2017-07-14 广州天高软件科技有限公司 混合模式智能手机应用开发框架
CN107092514A (zh) * 2016-08-25 2017-08-25 口碑控股有限公司 一种页面内容展示方法及装置
CN108287696A (zh) * 2018-03-05 2018-07-17 万帮充电设备有限公司 Web应用框架的开发方法、装置及***
CN110580154A (zh) * 2019-05-24 2019-12-17 ***股份有限公司 基于h5接入方式的接入方法及其接入组件和移动终端

Cited By (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102799477A (zh) * 2012-07-16 2012-11-28 中兴通讯股份有限公司 资源访问方法及装置
US10303750B2 (en) 2012-08-09 2019-05-28 Google Llc Browser-level background page for providing multiple views
CN104685466B (zh) * 2012-08-09 2018-01-23 谷歌公司 用于提供多个视图的浏览器级背景页面
CN104685466A (zh) * 2012-08-09 2015-06-03 谷歌公司 用于提供多个视图的浏览器级背景页面
CN102902537A (zh) * 2012-09-19 2013-01-30 厦门亿联网络技术股份有限公司 基于FastCGI和HTML模板的嵌入式WEB MVC开发框架
CN102902537B (zh) * 2012-09-19 2016-03-30 厦门亿联网络技术股份有限公司 基于FastCGI和HTML模板的嵌入式WEB MVC开发框架
CN103257855B (zh) * 2012-12-11 2016-04-06 深圳市梦圆皇宫管理顾问有限公司 一种基于mvc的处理***、处理方法及在美容软件中的应用
CN103257855A (zh) * 2012-12-11 2013-08-21 深圳市梦圆皇宫管理顾问有限公司 一种基于mvc的处理***、处理方法及在美容软件中的应用
CN105487848B (zh) * 2014-10-08 2019-03-19 Tcl集团股份有限公司 一种3d应用的显示刷新方法及***
CN105487848A (zh) * 2014-10-08 2016-04-13 Tcl集团股份有限公司 一种3d应用的显示刷新方法及***
CN104461509A (zh) * 2014-11-10 2015-03-25 浪潮(北京)电子信息产业有限公司 一种信息交互架构及方法
CN104461509B (zh) * 2014-11-10 2018-10-12 浪潮(北京)电子信息产业有限公司 一种信息交互***及方法
CN104484182A (zh) * 2014-12-25 2015-04-01 广东电子工业研究院有限公司 一种弹性可扩展的多数据源mvc模型架构
CN104615431A (zh) * 2015-02-05 2015-05-13 浪潮集团有限公司 一种Web应用的实现方法和装置
CN107092514A (zh) * 2016-08-25 2017-08-25 口碑控股有限公司 一种页面内容展示方法及装置
CN107092514B (zh) * 2016-08-25 2021-06-22 口碑控股有限公司 一种页面内容展示方法及装置
CN106339264A (zh) * 2016-08-29 2017-01-18 九次方财富资讯(北京)有限责任公司 基于Ajax异步调用技术实现的双公示数据web页面展示方法和***
CN106339471A (zh) * 2016-08-29 2017-01-18 九次方财富资讯(北京)有限责任公司 基于Ajax请求实现的页面局部刷新双公示数据web展示方法和***
CN106951233B (zh) * 2017-03-02 2020-04-17 广州天高软件科技有限公司 混合模式智能手机应用开发框架***
CN106951233A (zh) * 2017-03-02 2017-07-14 广州天高软件科技有限公司 混合模式智能手机应用开发框架
CN108287696A (zh) * 2018-03-05 2018-07-17 万帮充电设备有限公司 Web应用框架的开发方法、装置及***
WO2020238277A1 (zh) * 2019-05-24 2020-12-03 ***股份有限公司 基于h5接入方式的接入方法及其接入组件和移动终端
CN110580154A (zh) * 2019-05-24 2019-12-17 ***股份有限公司 基于h5接入方式的接入方法及其接入组件和移动终端
TWI767182B (zh) * 2019-05-24 2022-06-11 大陸商中國銀聯股份有限公司 基於h5的接入組件及移動終端

Similar Documents

Publication Publication Date Title
CN101587435A (zh) 一种实现mvc的方法
CN102325191B (zh) 一种全自动的页面无刷新处理方法及框架
CN102426549B (zh) 一种Web的表单校验方法及其框架***
CN100512115C (zh) 给用户提供业务服务的方法和***
CN102855142B (zh) 一种基于ria的客户端框架结构及其实现方法
CN104866512A (zh) 提取网页内容的方法、装置及***
CN103383645A (zh) 代码生成方法及***
CN102609264A (zh) 一种调用应用程序编程接口生成调用代码的方法及装置
CN111143207B (zh) 一种在移动端查看模型训练通知和训练日志的方法
CN110221848A (zh) App页面更新方法、装置、电子设备及存储介质
CN104375818A (zh) 一种通过配置文件实现通用数据格式录入的***及方法
CN102231106A (zh) 实现移动通用开发平台应用代码生成的方法
CN106997298A (zh) 一种应用资源获取方法及装置
CN102567400B (zh) 一种实现Web访问的方法和Web服务器
CN103678343B (zh) 提示网页加载进度的方法和装置
US11860963B2 (en) Enhanced methods and systems for automated skill generation and management
CN107222524B (zh) 一种开放式应用服务集成框架
CN105404514A (zh) JavaScript渲染方法和装置
CN110750415A (zh) 接口服务配置方法、装置、介质和计算机设备
CN101937335A (zh) 一种生成Widget图标的方法、Widget摘要文件的生成方法及Widget引擎
CN102880492B (zh) 一种基于as的xml脚本解析器及其方法
US20220300262A1 (en) Method for constructing, running and implementing cross-platform application, terminal, server and system
CN104834715A (zh) 一种基于部件和容器的网站生成方法及***
CN103257855B (zh) 一种基于mvc的处理***、处理方法及在美容软件中的应用
CN103164226B (zh) 一种机顶盒人机界面自动生成方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C02 Deemed withdrawal of patent application after publication (patent law 2001)
WD01 Invention patent application deemed withdrawn after publication

Open date: 20091125