一种配置化展现动态页面的方法及系统的制作方法

文档序号:6632591阅读:159来源:国知局
一种配置化展现动态页面的方法及系统的制作方法
【专利摘要】本发明涉及一种配置化展现动态页面的方法及系统,其方法包括:步骤1:接收数据;步骤2:数据转换;步骤3:判断动态dynSql是否为空,如果是,执行步骤6;否则,执行步骤4;步骤4:执行动态sql,将查询结果按照attrValue结构替换xml可扩展标记语言中的attrValue中的值;步骤5:判断执行动态sql是否成功,如果是,清空动态dynSql,执行步骤6;否则,执行步骤3;步骤6:生成jsp页面的基本元素;步骤7:判断步骤1接收的数据中是否存在动态js,如果是,执行步骤8;否则,结束;步骤8:进行绑定操作,结束。本发明大大减少了开发人员的工作量,简化了代码。对于页面元素经常变动的功能显得尤为突出。
【专利说明】一种配置化展现动态页面的方法及系统

【技术领域】
[0001] 本发明涉及一种配置化展现动态页面的方法及系统。

【背景技术】
[0002] 目前电信以及其他运营商领域,针对一些产品或销售品的属性是多变的,并且每 种产品或销售品也是不一样的(数量,类型,数值等),以往的开发模式可能根据产品或销 售品的不同开发出多套页面用来支持,有变动时还需要修改源码来支持新需求。


【发明内容】

[0003] 本发明所要解决的技术问题是提供一种使JSP界面开发人员不写代码就能完美 解决问题的配置化展现动态页面的方法。
[0004] 本发明解决上述技术问题的技术方案如下:一种配置化展现动态页面的方法,具 体包括以下步骤:
[0005] 步骤1 :接收外部输入的数据;
[0006] 步骤2 :将输入的数据转换为xml可扩展标记语言;
[0007] 步骤3 :判断所述xml可扩展标记语言中动态dynSql是否为空,如果是,执行步骤 6;否则,执行步骤4;
[0008] 步骤4 :执行动态sql,得到查询结果,将查询结果按照attrValue结构替换xml可 扩展标记语言中的attrValue中的值;
[0009] 步骤5 :判断执行动态sql是否成功,如果是,清空动态dynSql,执行步骤6 ;否则, 执行步骤3 ;
[0010] 步骤6 :将xml可扩展标记语言向XSl模板中进行填充,生成jsp页面的基本元素, 完成动态页面的基本配置;
[0011] 步骤7 :判断步骤1接收的数据中是否存在动态js,如果是,执行步骤8 ;否则,结 束;
[0012] 步骤8 :获取动态js中的id名称,动态js中通过eval将id名称与待执行内容 进行关联,完成绑定操作,结束。
[0013] 本发明的有益效果是:本发明实现使开发人员只需要关心后台的数据如果来配 置,以及每个字段的含义,前台界面只需要写一行标签即可,大大减少了开发人员的工作 量,简化了代码。对于页面元素经常变动的功能显得尤为突出。
[0014] 在上述技术方案的基础上,本发明还可以做如下改进。
[0015] 进一步,所述步骤1中接收数据的来源多样化,包括:通过xml与xsl属性指定对 应文件路径,接收两个文件;或通过PageData接收xml字符串;或通过dynBo接收java封 装对象;循环获取DynAttrBo中的Attr对象。
[0016] 采用上述进一步方案的有益效果是,步骤1中接收操作者传递的内容表达方式不 一样,内容信息是一样的。
[0017] 进一步,所述步骤4具体包括以下步骤:
[0018] 步骤4. 1 :根据执行规则获取dynSql中的动态参数列表,从参数列表中按照执行 规则得到参数值;
[0019] 步骤4.2 :利用工具类替换sql中的参数,调用服务执行动态sql,得到查询结果;
[0020] 步骤4. 3 :将查询结果按照attrValue结构替换xml可扩展标记语言中的 attrValue 中的值。
[0021] 进一步,所述步骤4中的执行规则为:sql中的动态参数采用":variable"的方 式占位,对应的variable的参数取值规则为,先从request的paramenter中获取,后从 request中的attribute获取,最后从session中获取;配置的动态sql的输出字段组织格 式为:ATTR_VALUE_CD, ATTR_VALUE_NAME, ATTR_VALUE_DESC ;没有值得可以给空;Variable 支持嵌套对象获取,配置格式beanld. beanProperty. beanProperty多层级嵌套。例如从 session 中获取 IanId 配置为:loginInfo. IanIcL
[0022] 进一步,所述步骤2中的转换使用报文转换工具进行转换,具体工具为java里的 JAXB。
[0023] 本发明所要解决的技术问题是提供一种使JSP界面开发人员不写代码就能完美 解决问题的配置化展现动态页面的系统。
[0024] 本发明解决上述技术问题的技术方案如下:一种配置化展现动态页面的系统,包 括接收模块、转换模块、判断模块、动态查询模块、成功判断模块、填充配置模块和动态js 模块;
[0025] 所述接收模块用于接收外部输入的数据;
[0026] 所述转换模块用于将输入的数据转换为xml可扩展标记语言;
[0027] 所述判断模块用于判断所述xml可扩展标记语言中动态dynSql是否为空,如果 是,将xml发送到填充配置模块;否则,将xml发送到动态查询模块;
[0028] 所述动态查询模块用于执行动态sql,得到查询结果,将查询结果按照attrValue 结构替换xml可扩展标记语言中的attrValue中的值;
[0029] 所述成功判断模块用于判断执行动态sql是否成功,如果是,清空动态dynSql,将 xml发送到填充配置模块;否则,将xml发送到判断模块;
[0030] 所述填充配置模块用于将xml可扩展标记语言向XSl模板中进行填充,生成jsp 页面的基本元素,完成动态页面的基本配置;
[0031] 所述动态js模块用于在接收的数据中存在动态js时,获取动态js中的id名称, 动态js中通过eval将id名称与待执行内容进行关联,完成绑定操作。
[0032] 本发明的有益效果是:本发明实现使开发人员只需要关心后台的数据如果来配 置,以及每个字段的含义,前台界面只需要写一行标签即可,大大减少了开发人员的工作 量,简化了代码。对于页面元素经常变动的功能显得尤为突出。
[0033] 在上述技术方案的基础上,本发明还可以做如下改进。
[0034] 进一步,所述接收模块中接收数据的来源多样化,包括:通过xml与xsl属性指定 对应文件路径,接收两个文件;或通过pageData接收xml字符串;或通过dynBo接收java 封装对象;循环获取DynAttrBo中的Attr对象。
[0035] 采用上述进一步方案的有益效果是,步骤1中接收操作者传递的内容表达方式不 一样,内容信息是一样的。
[0036] 进一步,所述动态查询模块包括参数获取模块、查询模块和替换模块;
[0037] 所述参数获取模块用于根据执行规则获取dynSql中的动态参数列表,从参数列 表中按照执行规则得到参数值;
[0038] 所述查询模块用于利用工具类替换sql中的参数,调用服务执行动态sql,得到查 询结果;
[0039] 所述替换模块用于将查询结果按照attrValue结构替换xml可扩展标记语言中的 attrValue 中的值。
[0040] 进一步,所述动态查询模块中的执行规则为:sql中的动态参数采用" :variable" 的方式占位,对应的variable的参数取值规则为,先从request的paramenter中获取, 后从request中的attribute获取,最后从session中获取;配置的动态sql的输出字段 组织格式为:AITR_VALUE_CD,AITR_VALUE_NAME,AITR_VALUE_DESC ;没有值得可以给空; Variable支持嵌套对象获取,配置格式beanld. beanProperty. beanProperty多层级嵌套。 例如从 session 中获取 IanId 配置为:loginInfo. lanld。
[0041] 进一步,所述转换模块中的转换使用报文转换工具进行转换,具体工具为java里 的 JAXB。

【专利附图】

【附图说明】
[0042] 图1为本发明所述的一种配置化展现动态页面的方法流程图;
[0043] 图2为本发明所述的一种配置化展现动态页面的系统结构图;
[0044] 图3为本发明具体实施例所述的处理流程图。
[0045] 附图中,各标号所代表的部件列表如下:
[0046] 1、接收模块,2、转换模块,3、判断模块,4、动态查询模块,5、成功判断模块,6、填充 配置模块,7、动态js模块,41、参数获取模块,42、查询模块,43、替换模块。

【具体实施方式】
[0047] 以下结合附图对本发明的原理和特征进行描述,所举实例只用于解释本发明,并 非用于限定本发明的范围。
[0048] 如图1所示,为本发明所述的一种配置化展现动态页面的方法,具体包括以下步 骤:
[0049] 步骤1 :接收外部输入的数据;
[0050] 步骤2 :将输入的数据转换为xml可扩展标记语言;
[0051] 步骤3 :判断所述xml可扩展标记语言中动态dynSql是否为空,如果是,执行步骤 8;否则,执行步骤4;
[0052] 步骤4 :根据执行规则获取dynSql中的动态参数列表,从参数列表中按照执行规 则得到参数值;
[0053] 步骤5 :利用工具类替换sql中的参数,调用服务执行动态sql,得到查询结果;
[0054] 步骤6 :将查询结果按照attrValue结构替换xml可扩展标记语言中的attrValue 中的值;
[0055] 步骤7 :判断执行动态sql是否成功,如果是,清空动态dynSql,执行步骤8 ;否则, 执行步骤3 ;
[0056] 步骤8 :将xml可扩展标记语言向xsl模板中进行填充,生成jsp页面的基本元素, 完成动态页面的基本配置;
[0057] 步骤9 :判断步骤1接收的数据中是否存在动态js,如果是,执行步骤10 ;否则,结 束;
[0058] 步骤10 :获取动态js中的id名称,动态js中通过eval将id名称与待执行内容 进行关联,完成绑定操作,结束。
[0059] 所述步骤1中接收数据的来源多样化,包括:通过xml与xsl属性指定对应文件路 径,接收两个文件;或通过PageData接收xml字符串;或通过dynBo接收java封装对象; 循环获取DynAttrBo中的Attr对象。
[0060] 步骤1中接收操作者传递的内容表达方式不一样,内容信息是一样的。
[0061] 所述步骤4中的执行规则为:sql中的动态参数采用" !variable"的方式占位,对 应的variable的参数取值规则为,先从request的paramenter中获取,后从request中的 attribute获取,最后从session中获取;配置的动态sql的输出字段组织格式为:ATTR_ VALUE_CD, AITR_VALUE_NAME,AITR_VALUE_DESC ;没有值得可以给空;Variable 支持嵌套对 象获取,配置格式beanld. beanProperty. beanProperty多层级嵌套。例如从session中获 取 IanId 配置为:loginInfo. IanIcL
[0062] 所述步骤2中的转换使用报文转换工具进行转换,具体工具为java里的JAXB。
[0063] 如图2所示,为本发明所述的一种配置化展现动态页面的系统,包括接收模块1、 转换模块2、判断模块3、动态查询模块4、成功判断模块5、填充配置模块6和动态js模块 7 ;
[0064] 所述接收模块1用于接收外部输入的数据;
[0065] 所述转换模块2用于将输入的数据转换为xml可扩展标记语言;
[0066] 所述判断模块3用于判断所述xml可扩展标记语言中动态dynSql是否为空,如果 是,将xml发送到填充配置模块6 ;否则,将xml发送到动态查询模块4 ;
[0067] 所述动态查询模块4用于执行动态sql,得到查询结果,将查询结果按照 attrValue结构替换xml可扩展标记语言中的attrValue中的值;
[0068] 所述成功判断模块5用于判断执行动态sql是否成功,如果是,清空动态dynSql, 将xml发送到填充配置模块6 ;否则,将xml发送到判断模块3 ;
[0069] 所述填充配置模块6用于将xml可扩展标记语言向xsl模板中进行填充,生成jsp 页面的基本元素,完成动态页面的基本配置;
[0070] 所述动态js模块7用于在接收的数据中存在动态js时,获取动态js中的id名 称,动态js中通过eval将id名称与待执行内容进行关联,完成绑定操作。
[0071] 所述接收模块1中接收数据的来源多样化,包括:通过xml与xsl属性指定对应文 件路径,接收两个文件;或通过pageData接收xml字符串;或通过dynBo接收java封装对 象;循环获取DynAttrBo中的Attr对象。接收操作者传递的内容表达方式不一样,内容信 息是一样的。
[0072] 所述动态查询模块4包括参数获取模块41、查询模块42和替换模块43 ;
[0073] 所述参数获取模块41用于根据执行规则获取dynSql中的动态参数列表,从参数 列表中按照执行规则得到参数值;
[0074] 所述查询模块42用于利用工具类替换sql中的参数,调用服务执行动态sql,得到 查询结果;
[0075] 所述替换模块43用于将查询结果按照attrValue结构替换xml可扩展标记语言 中的attrValue中的值。
[0076] 所述动态查询模块4中的执行规则为:sql中的动态参数采用" variable"的方 式占位,对应的variable的参数取值规则为,先从request的paramenter中获取,后从 request中的attribute获取,最后从session中获取;配置的动态sql的输出字段组织格 式为:ATTR_VALUE_CD, ATTR_VALUE_NAME, ATTR_VALUE_DESC ;没有值得可以给空;Variable 支持嵌套对象获取,配置格式beanld. beanProperty. beanProperty多层级嵌套。例如从 session 中获取 IanId 配置为:loginInfo. IanIcL
[0077] 所述转换模块2中的转换使用报文转换工具进行转换,具体工具为java里的 JAXB。
[0078] 如图3所示,为本发明具体实施例所述的处理流程图,具体流程如下:
[0079] 1、Jsp页面动态标签接收到带有数据的DynPageBo对象,通过jsp标签机制将对 象传递到DynPageTag标签类;
[0080] 2、由标签类解析该对象,重新封装参数调用控制层;
[0081] 3、控制层解析参数调用服务层来处理相应的逻辑,最后将模板信息逐层返回;
[0082] 4、在标签类中封装成HTML片段返回给jsp页面进行展示最终结果,即翻译后的 html页面内容。
[0083] 本发明的技术方案包括以下几个部分:
[0084] a、前台界面简化,支持自定义标签;
[0085] b、自定义传输对象,封装java对象的目的就是为了灵活扩展升级。
[0086] c、接收数据来源实现方式多样化;
[0087] 1)可通过xml与xsl属性指定对应文件路径;
[0088] 2)可通过pageData指定xml字符串;
[0089] 3)可通过dynBo接收java封装对象。循环获取DynAttrBo中的Attr对象。
[0090] d、支持配置动态sql获取select下拉框内容;
[0091] 1)针对单个Attr对象进行处理,如果动态dynSql不为空,则执行动态SQL ;
[0092] 2)根据规则获取dynSql中的动态参数列表,根据动态参数列表按照规则获取参 数值,利用工具类替换sql中的参数,调用服务执行动态sql,获取查询结果;
[0093] 3)执行结果按照attrValue结构替换attrValue中的值;
[0094] 4)执行成功清空Attr中的dynSql属性的值,否则保持不变,不进行任何处理;
[0095] 5) dynSql执行规则:sql中的动态参数采用":variable"的方式占位,对应的 variable的参数取值规则为,先从request的paramenter中获取,后从request中的 attribute获取,最后从session中获取;配置的动态sql的输出字段组织格式为:ATTR_ VALUE_CD, AITR_VALUE_NAME,AITR_VALUE_DESC。没有值得可以给空。Variable 支持嵌套对 象获取,配置格式beanld. beanProperty. beanProperty多层级嵌套。例如从session中获 取 IanId 配置为:loginInfo. IanId ;
[0096] e、元素上可动态配置js函数进行事件绑定;
[0097] 1)在标签外层嵌套一层 div,div 的 id 为 prodAttribute 或 offerAttribute,当 然这个id可以根据自己的需求定义,用到此功能的页面需要引入公共js ;
[0098] 2) Js中通过dynBo中的controlScript属性获取到动态函数串,公共js文件中通 过eval执行绑定操作。使动态生成的界面具有灵活的点击,获得焦点,失去焦点等等事件。 [0099] 以下将通过前台到后台的实现顺序进行说明:
[0100] 一、Jsp 页面:
[0101] 对于开发人员来说页面只需要写一行程序,
[0102] 如:〈xsl :DynPageTag dynBo = 〃$ {dynAttrBo} ">〈/xsl :DynPageTag>。
[0103] 二、标签 xsl.tld:
[0104]

【权利要求】
1. 一种配置化展现动态页面的方法,其特征在于,具体包括以下步骤: 步骤1:接收外部输入的数据; 步骤2 :将输入的数据转换为xml可扩展标记语言; 步骤3 :判断所述xml可扩展标记语言中动态dynSql是否为空,如果是,执行步骤6 ;否 贝U,执行步骤4; 步骤4 :执行动态sql,得到查询结果,将查询结果按照attrValue结构替换xml可扩展 标记语言中的attrValue中的值; 步骤5 :判断执行动态sql是否成功,如果是,清空动态dynSql,执行步骤6 ;否则,执行 步骤3 ; 步骤6 :将xml可扩展标记语言向xsl模板中进行填充,生成jsp页面的基本元素,完 成动态页面的基本配置; 步骤7 :判断步骤1接收的数据中是否存在动态js,如果是,执行步骤8 ;否则,结束; 步骤8 :获取动态js中的id名称,动态js中通过eval将id名称与待执行内容进行 关联,完成绑定操作,结束。
2. 根据权利要求1所述一种配置化展现动态页面的方法,其特征在于,所述步骤1中接 收数据的来源多样化,包括:通过xml与xsl属性指定对应文件路径,接收两个文件;或通 过pageData接收xml字符串;或通过dynBo接收java封装对象;循环获取DynAttrBo中的 Attr对象。
3. 根据权利要求2所述一种配置化展现动态页面的方法,其特征在于,所述步骤4具体 包括以下步骤: 步骤4. 1 :根据执行规则获取dynSql中的动态参数列表,从参数列表中按照执行规则 得到参数值; 步骤4. 2 :利用工具类替换sql中的参数,调用服务执行动态sql,得到查询结果; 步骤4. 3 :将查询结果按照attrValue结构替换xml可扩展标记语言中的attrValue中 的值。
4. 根据权利要求3所述一种配置化展现动态页面的方法,其特征在于,所述步骤4中 的执行规则为:sql中的动态参数采用":variable"的方式占位,对应的variable的参 数取值规则为,先从request的paramenter中获取,后从request中的attribute获取, 最后从session中获取;配置的动态sql的输出字段组织格式为:ATTR_VALUE_CD,ATTR_ VALUE_NAME,ATTR_VALUE_DESC ;没有值得可以给空;Variable支持嵌套对象获取,配置格 式 beanld. beanProperty. beanProperty 多层级嵌套。
5. 根据权利要求1-4任一项所述一种配置化展现动态页面的方法,其特征在于,所述 步骤2中的转换使用报文转换工具进行转换,具体工具为java里的JAXB。
6. -种配置化展现动态页面的系统,其特征在于,包括接收模块、转换模块、判断模块、 动态查询模块、成功判断模块、填充配置模块和动态js模块; 所述接收模块用于接收外部输入的数据; 所述转换模块用于将输入的数据转换为xml可扩展标记语言; 所述判断模块用于判断所述xml可扩展标记语言中动态dynSql是否为空,如果是,将 xml发送到填充配置模块;否则,将xml发送到动态查询模块; 所述动态查询模块用于执行动态sql,得到查询结果,将查询结果按照attrValue结构 替换xml可扩展标记语言中的attrValue中的值; 所述成功判断模块用于判断执行动态sql是否成功,如果是,清空动态dynSql,将xml 发送到填充配置模块;否则,将xml发送到判断模块; 所述填充配置模块用于将xml可扩展标记语言向xsl模板中进行填充,生成jsp页面 的基本元素,完成动态页面的基本配置; 所述动态js模块用于在接收的数据中存在动态js时,获取动态js中的id名称,动态 js中通过eval将id名称与待执行内容进行关联,完成绑定操作。
7. 根据权利要求6所述一种配置化展现动态页面的系统,其特征在于,所述接收模块 中接收数据的来源多样化,包括:通过xml与xsl属性指定对应文件路径,接收两个文件; 或通过pageData接收xml字符串;或通过dynBo接收java封装对象;循环获取DynAttrBo 中的At tr对象。
8. 根据权利要求7所述一种配置化展现动态页面的系统,其特征在于,所述动态查询 模块包括参数获取模块、查询模块和替换模块; 所述参数获取模块用于根据执行规则获取dynSql中的动态参数列表,从参数列表中 按照执行规则得到参数值; 所述查询模块用于利用工具类替换sql中的参数,调用服务执行动态sql,得到查询结 果; 所述替换模块用于将查询结果按照attrValue结构替换xml可扩展标记语言中的 attrValue 中的值。
9. 根据权利要求8所述一种配置化展现动态页面的系统,其特征在于,所述动态查询 模块中的执行规则为:sql中的动态参数采用" :variable"的方式占位,对应的variable的 参数取值规则为,先从request的paramenter中获取,后从request中的attribute获取, 最后从session中获取;配置的动态sql的输出字段组织格式为:ATTR_VALUE_CD,ATTR_ VALUE_NAME,AITR_VALUE_DESC ;没有值得可以给空;Variable支持嵌套对象获取,配置格 式 beanld. beanProperty. beanProperty 多层级嵌套。
10. 根据权利要求6-9任一项所述一种配置化展现动态页面的系统,其特征在于,所述 转换模块中的转换使用报文转换工具进行转换,具体工具为java里的JAXB。
【文档编号】G06F9/44GK104331288SQ201410602584
【公开日】2015年2月4日 申请日期:2014年10月31日 优先权日:2014年10月31日
【发明者】孙皓 申请人:北京思特奇信息技术股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1