CN101587435A - 一种实现mvc的方法 - Google Patents
一种实现mvc的方法 Download PDFInfo
- 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
Links
Images
Landscapes
- Stored Programmes (AREA)
Abstract
本发明提供一种实现MVC的方法,javascript作为控制器来实现MVC的方法,在JavaScriptMVC下,模型,视图-用于与用户的交互,用HTML来实现。模型-实现***中的业务逻辑,并且生成HTML代码片段,由JSP来实现。模型主要为视图提供部分代码片段,但是不负责整个页面显示的布局和页面之间切换的控制。控制器-是模型与视图之间沟通的桥梁,它决定取那些模型到页面上来展示。控制器是通过javascript来实现的。本发明通过javascriptMVC,使开发人员操作方便,提高开发效率,快捷地开发程序。由于javascriptMVC是建立在ajax之上的,实现局部刷新页面,也为用户提供更友好的界面,总之,用户体验性很好。
Description
技术领域:
本发明涉及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上。
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)
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接入方式的接入方法及其接入组件和移动终端 |
-
2008
- 2008-05-19 CN CNA200810111953XA patent/CN101587435A/zh active Pending
Cited By (24)
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 |