CN101452380A - 一种基于mvc模型的多级联动下拉菜单实现方法及系统 - Google Patents
一种基于mvc模型的多级联动下拉菜单实现方法及系统 Download PDFInfo
- Publication number
- CN101452380A CN101452380A CNA2007101248150A CN200710124815A CN101452380A CN 101452380 A CN101452380 A CN 101452380A CN A2007101248150 A CNA2007101248150 A CN A2007101248150A CN 200710124815 A CN200710124815 A CN 200710124815A CN 101452380 A CN101452380 A CN 101452380A
- Authority
- CN
- China
- Prior art keywords
- layer module
- down menu
- level interlock
- drop down
- level
- 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
- 238000000034 method Methods 0.000 title claims abstract description 72
- 230000002085 persistent effect Effects 0.000 claims description 31
- 230000002688 persistence Effects 0.000 abstract description 3
- 230000006870 function Effects 0.000 description 16
- 230000008901 benefit Effects 0.000 description 7
- 230000008859 change Effects 0.000 description 6
- 230000000694 effects Effects 0.000 description 6
- 238000000926 separation method Methods 0.000 description 5
- 230000002950 deficient Effects 0.000 description 4
- 238000010586 diagram Methods 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 238000012545 processing Methods 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000012797 qualification Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 230000033772 system development Effects 0.000 description 1
Images
Landscapes
- User Interface Of Digital Computer (AREA)
Abstract
本发明公开了一种基于MVC模型的多级联动下拉菜单实现方法,该MVC模型包括:表示层模块、逻辑层模块和持久层模块,所述方法包括如下步骤:A.表示层模块选择并提交一第N级联动下拉菜单选项至逻辑层;B.逻辑层模块根据该第N级联动下拉菜单选项联动第N+1级联动下拉菜单;C.持久层模块根据该第N+1级联动下拉菜单从数据库中获取相应的第N+1级联动下拉菜单选项,并将其通过逻辑层返回至表示层中进行显示。本发明相应地公开了一种基于MVC模型的多级联动下拉菜单实现系统。借此,实现了多级联动下拉菜单的动态选项,并且可扩展性强和可维护性高。
Description
技术领域
本发明涉及一种软件技术领域,尤其涉及一种基于MVC(Model ViewController,模型视图控制器)模型的多级联动下拉菜单实现方法及系统。
背景技术
在软件系统开发中,经常需要为具体应用软件设置Web主页面,若该应用软件功能很多,则可能需要多级下拉菜单来包含其所有的功能。如游戏软件系统中主菜单就有“道具”主菜单,道具菜单中又可以细分各项,如图1和图2所示的一级菜单“道具总类、道具分类”,道具分类二级菜单“形体道具、属性道具、功能道具和战斗道具等”,形体道具三级菜单“角色”。
目前,现有的多级联动下拉菜单基本是通过使用javascript来实现。其优点是反应迅速,但是使用纯粹的javascript会存在如下缺陷:只能实现多级下拉菜单的静态联动,其内容是固定,只适合选型相对固定的,比如选择一个省,对应的城市变化也很少的多级联动下拉菜单,无法实现需要动态改变的二级选项。
另一种现有的多级联动下拉菜单是通过使用Ajax(AsynchronousJavaScript+XML)技术来实现。该Ajax技术结合了Java技术、XML以及JavaScript等编程技术,可以让开发人员构建基于Java技术的Web应用,并打破了使用页面重载的惯例,从而可以实现多级联动下拉菜单的动态选项。该技术的缺陷在于,多级联动下拉菜单实现非常繁琐,实现部分完全在表示层,提高了性能的同时,违反了MVC(Model View Controller,模型视图控制器)模型,所述MVC模型包括:表示层模块、逻辑层模块和持久层模块。逻辑层模块和持久层模块的共同的功能是向表示层模块提供数据,不同之处在于持久层模块负责存储数据,即向逻辑层模块提交静态数据;而逻辑层模块对这些数据进行处理,并将处理后的结果显示在表示层模块。由此,扩展和维护困难。
综上可知,现有的多级联动下拉菜单的实现技术方案,在实际使用上显然存不便与缺陷,所以有必要加以改进。
发明内容
针对上述的缺陷,本发明第一目的在于提供一种基于MVC模型的多级联动下拉菜单实现方法,该方法可以实现多级联动下拉菜单的动态选项,并且可扩展性强和可维护性高。
本发明第二目的在于提供一种基于MVC模型的多级联动下拉菜单实现系统,该系统可以实现多级联动下拉菜单的动态选项,并且可扩展性强和可维护性高。
为了实现上述第一目的,本发明提供一种基于MVC模型的多级联动下拉菜单实现方法,该MVC模型包括:表示层模块、逻辑层模块和持久层模块,所述方法包括如下步骤:
A、表示层模块选择并提交一第N级联动下拉菜单选项至逻辑层;
B、逻辑层模块根据该第N级联动下拉菜单选项联动第N+1级联动下拉菜单;
C、持久层模块根据该第N+1级联动下拉菜单从数据库中获取相应的第N+1级联动下拉菜单选项,并将其通过逻辑层返回至表示层中进行显示。
根据所述的方法,所述步骤A中进一步包括:
A1、表示层模块在第N级联动下拉菜单中选择一第N级联动下拉菜单选项以启动与该第N级联动下拉菜单选项对应的第N级联动下拉菜单控件;
A2、表示层模块在所述第N级联动下拉菜单控件的控制下将该第N级联动下拉菜单选项提交至逻辑层模块。
根据所述的方法,步骤A1中,第N级联动下拉菜单控件为JSF控件;
步骤A2中,表示层模块通过Ajax异步提交方式提交该第N级联动下拉菜单选项至逻辑层。
根据所述的方法,所述步骤A之前进一步包括:
D、生成第N级联动下拉菜单控件,该第N级联动下拉菜单控件与第N级联动下拉菜单选项对应;
E、定义数据库数值存取方法及存取方法接口;
F、持久层模块通过所述数据库数值存取方法及存取方法接口在数据库中动态存储所述第N级联动下拉菜单选项和第N+1级联动下拉菜单选项。
根据所述的方法,所述步骤C中进一步包括:
C1、持久层模块通过所述数据库数值存取方法及存取方法接口在数据库中获取相应第N+1级联动下拉菜单选项,并将返回至逻辑层模块;
C2、逻辑层模块接收所述第N+1级联动下拉菜单选项后将其传递给表示层模块;
C3、表示层模块显示所述第N+1级联动下拉菜单选项。
为了实现上述第二目的,本发明提供一种基于MVC模型的多级联动下拉菜单实现系统,该MVC模型包括:表示层模块、逻辑层模块和持久层模块,所述多级联动下拉菜单实现系统包括:
表示层模块,用于选择并提交一第N级联动下拉菜单选项至逻辑层模块;
逻辑层模块,用于根据该第N级联动下拉菜单选项联动第N+1级联动下拉菜单;
持久层模块,用于根据该第N+1级联动下拉菜单从数据库中获取相应的第N+1级联动下拉菜单选项,并将其通过逻辑层模块返回至表示层模块中进行显示;
数据库,用于动态存储和提供第N+1级联动下拉菜单选项。
根据所述的多级联动下拉菜单实现系统,所述表示层模块进一步包括:
多级联动下拉菜单选项选择模块,用于选择一第N级联动下拉菜单选项;
多级联动下拉菜单选项提交模块,用于提交所选择的第N级联动下拉菜单选项;
多级联动下拉菜单控件生成模块,用于生成第N级联动下拉菜单控件,该第N级联动下拉菜单控件启动后控制多级联动下拉菜单选项提交模块将该第N级联动下拉菜单选项提交至逻辑层模块。
根据所述的多级联动下拉菜单实现系统,所述第N级联动下拉菜单控件在多级联动下拉菜单选项选择模块选择对应的第N级联动下拉菜单选项后启动。
根据所述的多级联动下拉菜单实现系统,所述逻辑层模块进一步包括:
下拉菜单选项联动模块,用于联动第N级联动下拉菜单选项和第N+1级联动下拉菜单。
根据所述的多级联动下拉菜单实现系统,所述持久层模块进一步包括:
数据库数值存取方法及存取方法接口定义模块,用于定义数据库数值存取方法及存取方法接口以通过所述数据库数值存取方法及存取方法接口在数据库中动态存取多级联动下拉菜单选项。
本发明表示层模块利用JSF控件的简洁性和逻辑与数值良好分离的特性,结合ajax4jsf异步提交的优点,选择并提交一第N级联动下拉菜单选项至逻辑层模块,逻辑层模块根据该第N级联动下拉菜单选项联动第N+1级联动下拉菜单,持久层模块根据该第N+1级联动下拉菜单从数据库中获取相应的第N+1级联动下拉菜单选项,并将其通过逻辑层模块返回至表示层模块中进行显示,实现了多级联动下拉菜单的动态选项,并且提高了多级联动下拉菜单的可扩展性和可维护性。
附图说明
图1和图2是三级联动下拉菜单;
图3是本发明提供的多级联动下拉菜单实现系统结构模块图;
图4是本发明提供的多级联动下拉菜单实现方法流程图;
图5是本发明优选实施例提供的多级联动下拉菜单实现方法流程图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
本发明的基本思想在于,表示层模块利用JSF控件的简洁性和逻辑与数值良好分离的特性,结合ajax4jsf异步提交的优点,选择并提交一第N级联动下拉菜单选项至逻辑层模块,逻辑层模块根据该第N级联动下拉菜单选项联动第N+1级联动下拉菜单,持久层模块根据该第N+1级联动下拉菜单从数据库中获取相应的第N+1级联动下拉菜单选项,并将其通过逻辑层模块返回至表示层模块中进行显示。
本发明提供的基于包括表示层模块、逻辑层模块和持久层模块的MVC模型的多级联动下拉菜单实现系统如图3所示,该系统300包括:表示层模块301、逻辑层模块302、持久层模块303和数据库304,其中:
表示层模块301,用于选择并提交一第N级联动下拉菜单选项至逻辑层模块302。该表示层模块301具体包括:多级联动下拉菜单选项选择模块3011、多级联动下拉菜单选项提交模块3012和多级联动下拉菜单控件生成模块3013。
多级联动下拉菜单选项选择模块3011,用于选择一第N级联动下拉菜单选项。所述N级至多为多级联动下拉菜单的最后二级,并且该多级联动下拉菜单至少为3级联动下拉菜单。以5级联动下拉菜单为例,所述N的范围位于1至4之间。
多级联动下拉菜单选项提交模块3012,用于提交所选择的第N级联动下拉菜单选项。
多级联动下拉菜单控件生成模块3013,用于生成第N级联动下拉菜单控件,该第N级联动下拉菜单控件启动后控制多级联动下拉菜单选项提交模块将该第N级联动下拉菜单选项提交至逻辑层模块302。
本发明中所述第N级联动下拉菜单控件优选为JSF控件以实现控件的简洁性,实现逻辑和数值的良好分离。多级联动下拉菜单选项提交模块3011在所述第N级联动下拉菜单控件的控制下通过Ajax异步提交方式提交该第N级联动下拉菜单选项至逻辑层302。
逻辑层模块302,用于根据多级联动下拉菜单选项提交模块3012所提交的第N级联动下拉菜单选项联动第N+1级联动下拉菜单。
该逻辑层模块302进一步包括:下拉菜单选项联动模块3021,该下拉菜单选项联动模块3021用于联动第N级联动下拉菜单选项和第N+1级联动下拉菜单。
持久层模块303,用于根据逻辑层模块302所联动的第N+1级联动下拉菜单从数据库304中获取相应的第N+1级联动下拉菜单选项,并将其通过逻辑层模块302返回至表示层模块301中进行显示。
具体而言,该持久层模块303通过数据库数值存取方法及存取方法接口定义模块3031所定义的数据库数值存取方法及存取方法接口从数据库304中获取相应的第N+1级联动下拉菜单选项。
数据库304,用于动态存储和提供第N+1级联动下拉菜单选项。该数据库304同时也可以存储和提供其他级的联动下拉菜单选项。
图4是本发明提供的基于包括表示层模块、逻模层模块和持久层模块的MVC模型的多级联动下拉菜单实现方法流程图,该方法包括如下:
步骤S401,表示层模块选择并提交一第N级联动下拉菜单选项至逻辑层模块。
本步骤具体包括:表示层模块在第N级联动下拉菜单中选择一第N级联动下拉菜单选项以启动与该第N级联动下拉菜单选项对应的第N级联动下拉菜单JSF控件;表示层模块在所述第N级联动下拉菜单JSF控件的控制下Ajax异步提交方式将该第N级联动下拉菜单选项提交至逻辑层模块。
步骤S402,逻辑层模块根据该第N级联动下拉菜单选项联动第N+1级联动下拉菜单。
步骤S403,持久层模块根据该第N+1级联动下拉菜单从数据库中获取相应的第N+1级联动下拉菜单选项,并将其通过逻辑层模块返回至表示层模块中进行显示。
为了更好的说明本发明,本发明优选实施例提供了一种基于MVC模型的三级联动下拉菜单实现方法,结合图3所示的多级联动下拉菜单实现系统300进行描述,包括如下步骤:
步骤S501,多级联动下拉菜单控件生成模块1014在JSF页面上生成所需的多级联动下拉菜单控件即第1级联动下拉菜单控件,该多级联动下拉菜单控件与多级联动下拉菜单选项对应。
本发明中所述多级联动下拉菜单控件为JSF控件以实现控件的简洁性和实现逻辑与数值良好分离的特性。
步骤S502,数据库数值存取方法及存取方法接口定义模块3031在持久层模块303定义数据库数值存取方法findkind及存取方法接口ToolkindRemote。
持久层模块303的实现主要是使用EJB3.0的实现的,EJB3.0一改以往重量级框架求大,求全的特点,能实现轻量级的框架,因此数据库数值存取方法及存取方法接口定义模块3031所定义的数据库数值存取方法findkind的实现如下:
@Stateless
pubilc class ToolkindBean implements ToolkindRemote{
@Persistence Context(unitName=“config”)
private EntityManager manager,
public List findkind(int kind){
return manager.createQuery(“select a.name from Toolkind a wherea.kind=:pa”).setParameter(“pa”,kind).getResultList();
}
}
EJB3.0是中可以镶嵌与SQL语句一一对应的映射。所以findkind函数的作用就是把一个SQL语句送到数据库并从数据库中存取数据。
步骤S503,持久层模块303通过所述数据库数值存取方法及存取方法接口在数据库304中动态存储多级联动下拉菜单选项。
本实施例中,持久层模块303通过所述数据库数值存取方法及存取方法接口在数据库304中动态存储第1级联动下拉菜单选项、第2级联动下拉菜单选项和第3级联动下拉菜单选项。
步骤S504,多级联动下拉菜单选项选择模块3011选择一第1级联动下拉菜单选项以启动与该第1级联动下拉菜单选项对应的第1级联动下拉菜单控件。
步骤S505,多级联动下拉菜单选项提交模块3012在第1级联动下拉菜单控件下通过Ajax异步提交方式提交所选择的第1级联动下拉菜单选项。
本步骤中,所述Ajax异步提交方式是指ajax4jsf异步提交方式,所述ajax4jsf是随JSF衍生出来。
在具体描述步骤S504和步骤S505之前,先参考如下最简单的二级联动选项的JSP页面代码:
<a4j:outputPanel id="alldata">
<h:selectOneMenu value="#{doubleView.type1}">//
<f:selectItems value="#{doubleView.type1Item}"/>
<a4j:support event="onchange"reRender="alldata"/>
</h:selectOneMenu>
<h:selectOneMenu value="#{doubleView.type2}">
<f:selectItems value="#{doubleView.type2Item}"/>
</h:selectOneMenu>
</a4j:outputPanel>
上述是最常见的二级联动选项,只有几行就可以实现大段javascript才能实现的功能,而且里面的doubleView对象的type1和type2的定义和赋值都是与页面分离的,此处可以直接拿来使用。type1变化时,<a4j:supportevent="onchange"reRender="alldata"/>控件监听到该变化会把type1传回到后台即逻辑模块102,后台会根据它的变化改变其他与之相关的变量。这里要注意的是第一行代码,它定义了一个a4j起作用的范围,超出这个范围就不起作用了。这么做的优点是对于只明白页面布局的程序员,这样的代码是最容易镶嵌到页面中的,他不必知道这是干什么的而只要将其放到相应的位置。即使以后需要修改,也并不必修改这部分了,实现了逻辑的分工。
再来看图1和图2所示jsp页面的布局:
<a4j:outputPanel id="alldata">
<h:selectOneMenu value="#{doubleView.type}">
<f:selectItems value="#{doubleView.typeItem}"/>
<a4j:support event="onchange"reRender="alldata"/>
</h:selectOneMenu>
<h:selectOneMenu value=“#{double View.type1}”
rendered="#{doubleView.type==2}">
<f:selectItems value="#{doubleView.typelItem}"/>
<a4j:support event="onchange"reRender="alldata"/>
</h:selectOneMenu>
<h:selectOneMenu value=“#{double View.type2}”
rendered="#{doubleView.type==2}">
<f:selectItems value="#{doubleView.type2Item}"/>
</h:selectOneMenu>
</a4j:outputPanel>
这里的type1和type2对应的控件多了一个属性“rendered”,这个属性的作用是负责对应的控件是否生成,当它为true是才生成控件,反之不生成。但是这个代码还存在致命的问题,问题出现在ajax4jsf上,如何ajax4jsf没有这个问题的话,这会是一段相对完美的代码。
<h:selectOneMenuvalue="#{doubleView.type1}"rendered="#{doubleView.type==2}">,本来rendered属性应该是这行代码的精华,它的功能是当type等于2时,也就是说当第一级选项选择了如图1所示的“道具分类”时,这个控件才显示出来。它的好处就用一个属性实现了Ajax大段代码才能实现的动态生成节点的功能。而这个属性恰恰在这里成了一把双刃剑,它好的一面是动态生成了新的节点即二,三级下拉菜单。坏处是它是二级下拉菜单<a4j:support>失效了,即使你在如何去变化二级选项页面也不会发生任何变化,这个可以看成是a4j力所不及的地方,即对临时生成的控件不能给予支持。
Ajax的核心就是Javascript,css(层叠样式表),DOM(文档对象模型),XMLHttpRequest对象。其中XMLHttpRequest对象允许Web程序员从Web服务器以后台活动的方式获取数据,javascript负责逻辑的处理,另外两个负责显示的。只要将二级选项提交后台就可以实现了Ajax的作用了。把原来的二级选项的代码修改一下,
<h:inputHidden id="hidden"
value="#{doubleView.type1}"></h:inputHidden>
<h:selectOneMenu id="orign"onchange="change();"
value="#{doubleView.type1}"
rendered="#{doubleView.type==2}">
<f:selectItems value="#{doubleView.type1Item}"/>
</h:selectOneMenu>
这里有两个主要变化,一个是多了一项<h:inputHidden>,它的作用会在js实现的函数中得到体现。另一个是用显示的js函数即onchange="change();"取代了a4j的作用,这个函数也是在选项发生变化的调用。函数的具体实现如下:
function change(){
document.getElementById("f0:hidden").value=document.getElementById("f0:orign").value;
document.getElementById("f0").submit()
}
这个函数主要有两个作用了:第一,将”f0:orign”中的数值赋给”f0:hidden”中去。其实它们对应的是一个值,这样做的目的就是为了将type1变化确定下来。第二,提交后台,就是将f0对应的form提交。
经过这样两步就可以是实现typ1的提交。在表示层模块301中只看到了数值变化和提交。
步骤S506,逻辑模块302接收表示层模块所选择的第1级联动下拉菜单选项后,下拉菜单选项联动模块3021联动第1级联动下拉菜单选项和第2级联动下拉菜单。
在MVC模型中,逻辑层的功能主要是负责数据的处理,因为JSF通过IOC模式实现数据的传输,所以配置完毕后就不需要关心数据如何传到页面的问题,它们是直接对应的。在本实施例中,道具对要用到的数据首先进行声名,并对已经声名并需要在页面显示的数据,每一个都有一个对应的get和set两个函数,这两个函数是必须的。如果没有这两项而又在页面出现了就会报错。Type2(二级)选项的实现如下:
public List<SelectItem>getType2Item(){
type2Item.clear();
data=type2Remote.findkind(type1);
int length=data.size();
for(int i=0;i<length;i++){
type2Item.add(new SelectItem(Integer.toString(i),data.get(i).toString()));
}
return type2Item;
}
代码“data=type2Remote.findkind(type1);”是从数据库中拿到type1对应的所有type2并把它加到type2Item中去,由此可以在页面中显示第2级联动下拉菜单选项。实现的方法很简单,就在前台到后台取数据的时候,即type2Item的时候,根据type1的值去数据库中取。到数据库去取数据可以实现下拉菜单动态选项,并且只要在数据库中添加数据而并不需要在程序中修改代码,操作简单,可维护性高。
type2Remote的初始化如下:
private ToolkindRemote
type2Remote=(ToolkindRemote)ctx.lookup("pack/ToolkindBean/local");
这里Toolkindbean对应了数据库数值的操作,而ToolkindRemote对应了方法的接口。
步骤S507,持久层模块303通过数据库数值存取方法findkind及存取方法接口ToolkindRemote在数据库304中获取相应第2级联动下拉菜单选项,并将返回至逻辑层模块302。
步骤S508,逻辑层模块302接收所述第2级联动下拉菜单选项后将其传递给表示层模块301。
步骤S509,表示层模块301显示所述第2级联动下拉菜单选项,如图2所示的“形体道具”、“属性道具”、“功能道具”和“战斗道具”等。
综上所述,本发明表示层模块利用JSF控件的简洁性和逻辑与数值良好分离的特性,结合ajax4jsf异步提交的优点,选择并提交一第N级联动下拉菜单选项至逻辑层模块,逻辑层模块根据该第N级联动下拉菜单选项联动第N+1级联动下拉菜单,持久层模块根据该第N+1级联动下拉菜单从数据库中获取相应的第N+1级联动下拉菜单选项,并将其通过逻辑层模块返回至表示层模块中进行显示,实现了多级联动下拉菜单的动态选项,并且提高了多级联动下拉菜单的可扩展性和可维护性。
当然,本发明还可有其它多种实施例,在不背离本发明精神及其实质的情况下,熟悉本领域的技术人员当可根据本发明作出各种相应的改变和变形,但这些相应的改变和变形都应属于本发明所附的权利要求的保护范围。
Claims (10)
1、一种基于MVC模型的多级联动下拉菜单实现方法,该MVC模型包括:表示层模块、逻辑层模块和持久层模块,其特征在于,所述方法包括如下步骤:
A、表示层模块选择并提交一第N级联动下拉菜单选项至逻辑层;
B、逻辑层模块根据该第N级联动下拉菜单选项联动第N+1级联动下拉菜单;
C、持久层模块根据该第N+1级联动下拉菜单从数据库中获取相应的第N+1级联动下拉菜单选项,并将其通过逻辑层返回至表示层中进行显示。
2、根据权利要求1所述的方法,其特征在于,所述步骤A中进一步包括:
A1、表示层模块在第N级联动下拉菜单中选择一第N级联动下拉菜单选项以启动与该第N级联动下拉菜单选项对应的第N级联动下拉菜单控件;
A2、表示层模块在所述第N级联动下拉菜单控件的控制下将该第N级联动下拉菜单选项提交至逻辑层模块。
3、根据权利要求2所述的方法,其特征在于,步骤A1中,第N级联动下拉菜单控件为JSF控件;
步骤A2中,表示层模块通过Ajax异步提交方式提交该第N级联动下拉菜单选项至逻辑层。
4、根据权利要求2所述的方法,其特征在于,所述步骤A之前进一步包括:
D、生成第N级联动下拉菜单控件,该第N级联动下拉菜单控件与第N级联动下拉菜单选项对应;
E、定义数据库数值存取方法及存取方法接口;
F、持久层模块通过所述数据库数值存取方法及存取方法接口在数据库中动态存储所述第N级联动下拉菜单选项和第N+1级联动下拉菜单选项。
5、根据权利要求4所述的方法,其特征在于,所述步骤C中进一步包括:
C1、持久层模块通过所述数据库数值存取方法及存取方法接口在数据库中获取相应第N+1级联动下拉菜单选项,并将返回至逻辑层模块;
C2、逻辑层模块接收所述第N+1级联动下拉菜单选项后将其传递给表示层模块;
C3、表示层模块显示所述第N+1级联动下拉菜单选项。
6、一种使用如权利要求1~5任意一项所述的方法的基于MVC模型的多级联动下拉菜单实现系统,该MVC模型包括:表示层模块、逻辑层模块和持久层模块,其特征在于,所述多级联动下拉菜单实现系统包括:
表示层模块,用于选择并提交一第N级联动下拉菜单选项至逻辑层模块;
逻辑层模块,用于根据该第N级联动下拉菜单选项联动第N+1级联动下拉菜单;
持久层模块,用于根据该第N+1级联动下拉菜单从数据库中获取相应的第N+1级联动下拉菜单选项,并将其通过逻辑层模块返回至表示层模块中进行显示;
数据库,用于动态存储和提供第N+1级联动下拉菜单选项。
7、根据权利要求6所述的多级联动下拉菜单实现系统,其特征在于,所述表示层模块进一步包括:
多级联动下拉菜单选项选择模块,用于选择一第N级联动下拉菜单选项;
多级联动下拉菜单选项提交模块,用于提交所选择的第N级联动下拉菜单选项;
多级联动下拉菜单控件生成模块,用于生成第N级联动下拉菜单控件,该第N级联动下拉菜单控件启动后控制多级联动下拉菜单选项提交模块将该第N级联动下拉菜单选项提交至逻辑层模块。
8、根据权利要求7所述的多级联动下拉菜单实现系统,其特征在于,所述第N级联动下拉菜单控件在多级联动下拉菜单选项选择模块选择对应的第N级联动下拉菜单选项后启动。
9、根据权利要求7所述的多级联动下拉菜单实现系统,其特征在于,所述逻辑层模块进一步包括:
下拉菜单选项联动模块,用于联动第N级联动下拉菜单选项和第N+1级联动下拉菜单。
10、根据权利要求7所述的多级联动下拉菜单实现系统,其特征在于,所述持久层模块进一步包括:
数据库数值存取方法及存取方法接口定义模块,用于定义数据库数值存取方法及存取方法接口以通过所述数据库数值存取方法及存取方法接口在数据库中动态存取多级联动下拉菜单选项。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNA2007101248150A CN101452380A (zh) | 2007-12-05 | 2007-12-05 | 一种基于mvc模型的多级联动下拉菜单实现方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNA2007101248150A CN101452380A (zh) | 2007-12-05 | 2007-12-05 | 一种基于mvc模型的多级联动下拉菜单实现方法及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN101452380A true CN101452380A (zh) | 2009-06-10 |
Family
ID=40734630
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNA2007101248150A Pending CN101452380A (zh) | 2007-12-05 | 2007-12-05 | 一种基于mvc模型的多级联动下拉菜单实现方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101452380A (zh) |
Cited By (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103488700A (zh) * | 2013-09-04 | 2014-01-01 | 用友软件股份有限公司 | 数据提取系统和数据提取方法 |
CN105117297A (zh) * | 2015-08-07 | 2015-12-02 | 北京思特奇信息技术股份有限公司 | 一种跨平台跨系统的可配置数据交互方法和系统 |
CN105868329A (zh) * | 2016-03-28 | 2016-08-17 | 中国建设银行股份有限公司 | 页面展示方法及装置 |
CN106056429A (zh) * | 2016-05-26 | 2016-10-26 | 宇宙世代信息技术(深圳)有限公司 | 标签生成方法和标签生成装置 |
CN106354483A (zh) * | 2015-07-16 | 2017-01-25 | 阿里巴巴集团控股有限公司 | 一种数据处理方法、装置及电子设备 |
CN106951428A (zh) * | 2016-01-06 | 2017-07-14 | 阿里巴巴集团控股有限公司 | 一种页面初始化方法及装置 |
CN107766307A (zh) * | 2016-08-18 | 2018-03-06 | 阿里巴巴集团控股有限公司 | 一种表单元素联动的方法和设备 |
CN108255541A (zh) * | 2017-12-28 | 2018-07-06 | 东软集团股份有限公司 | 表单控件的数据源处理方法、装置、存储介质和电子设备 |
CN108363570A (zh) * | 2017-10-25 | 2018-08-03 | 国云科技股份有限公司 | 一种基于Javascript的XML设置级联菜单的方法 |
CN109885225A (zh) * | 2018-12-14 | 2019-06-14 | 平安万家医疗投资管理有限责任公司 | 一种级联式选择的显示方法、装置及计算机设备 |
CN110020116A (zh) * | 2017-09-29 | 2019-07-16 | 北京国双科技有限公司 | 过滤条件确定方法及装置 |
CN112711460A (zh) * | 2021-01-18 | 2021-04-27 | 深圳市至简科技设计有限公司 | 一种基于页面联动的展示方法、系统及电子设备 |
CN113761005A (zh) * | 2021-07-31 | 2021-12-07 | 浪潮电子信息产业股份有限公司 | 一种元数据配置方法、装置及电子设备和存储介质 |
CN113923131A (zh) * | 2021-09-10 | 2022-01-11 | 北京世纪互联宽带数据中心有限公司 | 一种监控信息确定方法、装置、计算设备及存储介质 |
CN114138363A (zh) * | 2021-11-27 | 2022-03-04 | 深圳市元征科技股份有限公司 | 程序数据调用方法、装置、设备及存储介质 |
CN114265658A (zh) * | 2021-12-24 | 2022-04-01 | 中国农业银行股份有限公司 | 页面显示方法、装置及设备 |
-
2007
- 2007-12-05 CN CNA2007101248150A patent/CN101452380A/zh active Pending
Non-Patent Citations (1)
Title |
---|
张志浩等: "AJAX技术及其在智能协作教学平台中的应用", 《现代远距离教育》 * |
Cited By (24)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103488700A (zh) * | 2013-09-04 | 2014-01-01 | 用友软件股份有限公司 | 数据提取系统和数据提取方法 |
CN106354483A (zh) * | 2015-07-16 | 2017-01-25 | 阿里巴巴集团控股有限公司 | 一种数据处理方法、装置及电子设备 |
CN106354483B (zh) * | 2015-07-16 | 2020-02-07 | 阿里巴巴集团控股有限公司 | 一种数据处理方法、装置及电子设备 |
CN105117297A (zh) * | 2015-08-07 | 2015-12-02 | 北京思特奇信息技术股份有限公司 | 一种跨平台跨系统的可配置数据交互方法和系统 |
CN106951428A (zh) * | 2016-01-06 | 2017-07-14 | 阿里巴巴集团控股有限公司 | 一种页面初始化方法及装置 |
CN106951428B (zh) * | 2016-01-06 | 2020-06-02 | 菜鸟智能物流控股有限公司 | 一种页面初始化方法及装置 |
CN105868329A (zh) * | 2016-03-28 | 2016-08-17 | 中国建设银行股份有限公司 | 页面展示方法及装置 |
CN106056429A (zh) * | 2016-05-26 | 2016-10-26 | 宇宙世代信息技术(深圳)有限公司 | 标签生成方法和标签生成装置 |
WO2017201851A1 (zh) * | 2016-05-26 | 2017-11-30 | 宇宙世代信息技术(深圳)有限公司 | 标签生成方法和标签生成装置 |
CN106056429B (zh) * | 2016-05-26 | 2018-10-30 | 宇宙世代信息技术(深圳)有限公司 | 标签生成方法和标签生成装置 |
CN107766307A (zh) * | 2016-08-18 | 2018-03-06 | 阿里巴巴集团控股有限公司 | 一种表单元素联动的方法和设备 |
CN107766307B (zh) * | 2016-08-18 | 2021-06-08 | 阿里巴巴集团控股有限公司 | 一种表单元素联动的方法和设备 |
CN110020116A (zh) * | 2017-09-29 | 2019-07-16 | 北京国双科技有限公司 | 过滤条件确定方法及装置 |
CN108363570A (zh) * | 2017-10-25 | 2018-08-03 | 国云科技股份有限公司 | 一种基于Javascript的XML设置级联菜单的方法 |
CN108255541A (zh) * | 2017-12-28 | 2018-07-06 | 东软集团股份有限公司 | 表单控件的数据源处理方法、装置、存储介质和电子设备 |
CN109885225A (zh) * | 2018-12-14 | 2019-06-14 | 平安万家医疗投资管理有限责任公司 | 一种级联式选择的显示方法、装置及计算机设备 |
CN112711460A (zh) * | 2021-01-18 | 2021-04-27 | 深圳市至简科技设计有限公司 | 一种基于页面联动的展示方法、系统及电子设备 |
CN112711460B (zh) * | 2021-01-18 | 2021-07-20 | 深圳市至简科技设计有限公司 | 一种基于页面联动的展示方法、系统及电子设备 |
CN113761005A (zh) * | 2021-07-31 | 2021-12-07 | 浪潮电子信息产业股份有限公司 | 一种元数据配置方法、装置及电子设备和存储介质 |
CN113923131A (zh) * | 2021-09-10 | 2022-01-11 | 北京世纪互联宽带数据中心有限公司 | 一种监控信息确定方法、装置、计算设备及存储介质 |
CN113923131B (zh) * | 2021-09-10 | 2023-08-22 | 北京世纪互联宽带数据中心有限公司 | 一种监控信息确定方法、装置、计算设备及存储介质 |
CN114138363A (zh) * | 2021-11-27 | 2022-03-04 | 深圳市元征科技股份有限公司 | 程序数据调用方法、装置、设备及存储介质 |
CN114265658A (zh) * | 2021-12-24 | 2022-04-01 | 中国农业银行股份有限公司 | 页面显示方法、装置及设备 |
CN114265658B (zh) * | 2021-12-24 | 2024-03-01 | 中国农业银行股份有限公司 | 页面显示方法、装置及设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101452380A (zh) | 一种基于mvc模型的多级联动下拉菜单实现方法及系统 | |
US8028239B1 (en) | Context-based management user interface supporting extensible subtractive filtering | |
US20170277516A1 (en) | Designer tool for managing cloud computing services | |
CN104020988B (zh) | 定制制造企业解决方案屏幕的图形用户界面 | |
Nguyen et al. | Modeling and managing variability in process-based service compositions | |
US8191039B2 (en) | Developmental tool and method for automating detection and construction of notification-based component applications | |
JP5458995B2 (ja) | システム構造管理装置、システム構造管理方法、及びプログラム | |
EP2325800A1 (en) | Web portal application customization method and system using profiles | |
JP2020042828A (ja) | 複合コントロール | |
US20060271908A1 (en) | Method of componentisation of a graphically defined formula | |
ITMI20130390U1 (it) | Metodi e apparato per generatori di endpoint dinamici, individuazione e mediazione (brokerage) di oggetti remoti dinamici | |
CN102985907B (zh) | 在动态类加载器环境下管理遗留软件的静态数据结构的方法和系统 | |
US20100153149A1 (en) | Software for model-based configuration constraint generation | |
CN103208046A (zh) | 基于交互式动态流程图的工作流引擎架构方法和系统 | |
KR100879983B1 (ko) | Htc를 이용한 독립 컴포넌트 제공 시스템 및 독립컴포넌트를 이용한 이벤트 처리 방법 | |
US20130067456A1 (en) | Application configuration framework for enterprise resource planning application installation | |
CN106408170A (zh) | 一种电子工单处理方法、工作流引擎及电子工单系统 | |
US8732615B2 (en) | Unified interface for display and modification of data arrays | |
US20180210707A1 (en) | Method and system for customization of computer systems | |
CN111240659A (zh) | 一种基于Vue的页面设计方法 | |
CN103984548A (zh) | 一种web应用前端框架及其构建方法、系统 | |
CN103761103A (zh) | 云计算平台服务定义及实例化的方法和系统 | |
JPWO2011118003A1 (ja) | ウェブアプリケーション構築システム、ウェブアプリケーション構築方法、ウェブアプリケーション構築プログラムおよびウェブアプリケーション構築プログラムを記録した記録媒体 | |
Clerckx et al. | Generating context-sensitive multiple device interfaces from design | |
CN101685395A (zh) | 用于产品数据管理系统的对象属性处理方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C12 | Rejection of a patent application after its publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20090610 |