CN103777931B - 一种与业务逻辑关系松散的动态页面生成方法及系统 - Google Patents
一种与业务逻辑关系松散的动态页面生成方法及系统 Download PDFInfo
- Publication number
- CN103777931B CN103777931B CN201210402415.2A CN201210402415A CN103777931B CN 103777931 B CN103777931 B CN 103777931B CN 201210402415 A CN201210402415 A CN 201210402415A CN 103777931 B CN103777931 B CN 103777931B
- Authority
- CN
- China
- Prior art keywords
- page
- template
- file
- dynamic
- resource
- 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.)
- Expired - Fee Related
Links
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明涉及一种与业务逻辑关系松散的动态页面生成方法及系统,属于页面生成技术领域。本发明包括页面管理端和页面发布端。页面管理端主要用于发布资源、发布结构以及模板定义的管理,包括定义发布资源、资源模板、发布规则、目录结构、网站域名、发布页面,将制作好的模板通过模板管理程序引入到生成系统中,自动向发布端发送任务消息。页面发布端主要用于通过监控页面管理端发送的消息文件进行生成处理,并将模板转换成网站的动态页面程序。包括定时扫描、多任务线程处理、模板合成、计算页面的外网路径以及动态页面的转换,也就是将模板中的自定义置标语言替换为一段Java代码最终生成动态的结果页面。
Description
技术领域
本发明属于页面生成技术领域,具体涉及一种与业务逻辑关系松散的动态页面生成方法及系统。
背景技术
随着数字出版的急速增长,传统出版业的纸质读物受到各种各样的数字出版终端的猛烈冲击。传统出版虽然积累了大量的内容资源和作者资源,但单一的纸介出版方式已远远不能满足公众多层次的需求,单一的纸介出版严重影响出版社效益的发挥,须以先进的技术平台作为支撑,加强图、文、声、像、动画、IPTV等多媒体出版方式的建设。
数字出版对外生成系统不同于新闻网站的静态发布,更多的需要通过动态页面技术实现多功能书店、数字教育,从总体上提升出版社的出版能力和图书使用效率,为出版社图书的网上数字化阅读和使用奠定基础。推动图书出版工作从传统的纸介方式向声光电数字化、多元化方式转变,更大限度地发挥出版社图书的效益。
现有技术中,生成动态页面的方法主要是结合xml和xsl来生成动态页面,其流程大致如下:(1)根据业务的需求,系统定制好需要获取的数据项;(2)系统连接数据库查询所需的产品详细信息;(3)系统生成xml文件并把它传递给控制层Action;(3)控制层Action调用解析引擎,从xml文件和静态的xsl样式表中创建html输出。
这种方法存在如下缺陷:(1)速度慢,理由为XSLT使用XPath,由于是要解析DOM树,当XML文件较大时,速度很慢;(2)友好性不够,理由为由于没有HTML文件,根本看不到页面结构、显示风格和内容;XSL语法比较难以掌握,由于没有“所见即所得”编辑工具,学习成本高;(3)复用性弱,理由为xsl标签和html标签混合。
发明内容
针对现有技术中存在的缺陷,本发明所要解决的技术问题是提供一种速度快且与业务逻辑关系松散的动态页面生成方法及系统。
为解决上述技术问题,本发明采用的技术方案如下:
一种与业务逻辑关系松散的动态页面生成方法,包括以下步骤:
(1)页面管理端确定需要发布的资源、外网访问网站的域名、网站发布的结构目录,页面生成存放的网站目录;
(2)制作模板,并将所述模板与发布规则进行关联;
(3)页面管理端向页面发布端发一个通知消息文件;
(4)页面发布端定时扫描消息目录下是否存在消息文件,如果存在消息文件,则将该消息文件转换为消息对象,放入优先级队列;
(5)页面发布端创建上下文环境,根据发布页面确定该页面挂接的模板和发布规则;
(6)解析模板中的组件,将解析结果存储在缓存中,并计算页面和外联文件的外网路径;
(7)根据发布资源需要接收的参数,以及获取业务数据的方式,生成动态页面。
一种与业务逻辑关系松散的动态页面生成系统,包括页面管理端和页面发布端;
所述页面管理端包括用于对待发布资源进行预处理的预处理装置,以及用于向页面发布端发送通知消息文件的任务消息发布装置;
所述页面发布端包括用于定时扫描消息目录下是否存在消息文件,如果存在消息文件,则将该消息文件转换为消息对象,放入优先级队列的扫描装置,以及用于生成动态页面的动态页面生成装置。
本发明所述方法及系统,利用组件以及缓存技术,实现了与业务逻辑关系松散的动态页面生成,并提高了页面访问的速度;而且复用性强,利用组件以及系统自定义的标签,实现一个组件可配置多个实例方式,实现获取的数据自定义组合。
附图说明
图1是具体实施方式中动态页面生成系统的结构框图;
图2是具体实施方式中预处理装置的结构框图;
图3是具体实施方式中动态页面生成装置的结构框图;
图4是具体实施方式中动态页面生成方法的流程图;
图5是具体实施方式中所举实例的列表页面示意图;
图6是具体实施方式中所举实例的组件示意图;
图7是具体实施方式中所举实例的组件合成后的示意图。
具体实施方式
下面结合附图对本发明的具体实施方式进行详细描述。
如图1所示,本实施方式中与业务逻辑关系松散的动态页面生成系统,包括页面管理端1和页面发布端2。页面管理端1主要用于发布资源、发布结构以及模板定义的管理,包括定义发布资源、资源模板、发布规则、目录结构、网站域名、发布页面,将制作好的模板通过模板管理程序引入到生成系统中,自动向页面发布端2发送任务消息文件。页面发布端2主要用于通过监控页面管理端1发送的消息文件进行生成处理,并将模板转换成网站的动态页面程序。包括定时扫描、多任务线程处理、模板合成、计算页面的外网路径以及动态页面的转换,也就是将模板中的自定义置标语言替换为一段Java代码最终生成动态的结果页面。页面管理端1采用B/S结构,页面发布端2采用后台执行程序实现任务监控和模板解析等工作。
页面管理端1包括预处理装置11和任务消息发布装置12。如图2所示,预处理装置11包括组件确定单元111、域名确定单元112、目录确定单元113、规则确定单元114、模版制作单元115和关联单元116。组件确定单元111用于确定发布的资源。域名确定单元112用于确定外网访问网站的域名。目录确定单元113用于确定网站发布的结构目录。规则确定单元114用于确定页面生成存放的网站目录。模版制作单元115用于制作发布页面时的模版。关联单元116用于将模板与发布规则进行关联。任务消息发布装置12用于向页面发布端2发送通知消息文件。
页面发布端2包括扫描装置21和动态页面生成装置22。如图3所示,动态页面生成装置22包括环境创建单元221、模版解析单元222、路径计算单元223和页面发布单元224。扫描装置21用于定时扫描消息目录下是否存在消息文件,如果存在消息文件,则将该消息文件转换为消息对象,放入优先级队列。环境创建单元221用于创建上下文环境,根据发布页面确定该页面挂接的模板和发布规则。模版解析单元222用于解析模板中的组件,并将解析结果放入缓存中。路径计算单元223用于计算页面和外联文件的外网路径。页面发布单元224用于生成动态页面,根据发布资源需要接收的参数,以及获取业务数据的方式,生成动态页面。
如图4所示,采用上述系统生成动态页面的方法包括以下步骤:
(1)组件确定单元111确定需要发布的资源,域名确定单元112确定外网访问网站的域名,目录确定单元113确定网站发布的结构目录,规则确定单元114确定页面生成存放的网站目录。
发布的资源是对各个业务系统需要发布的数据进行归纳分类后,提取处理的数据描述,是生成系统的数据来源,用于在生成系统中指定需要发布的数据。需要发布的资源可以是数据文件、数据表、获取数据的服务等。发布的资源在发布流程的模板制作环节使用。在模板中每个组件需要通过使用发布资源ID来确定页面每个区域的数据来源。组件是一种把发布的资源和展示效果结合的一种机制。每个组件可配置多个实例方式。组件解析就是把放置的组件对象转换成web页面展示所需的字符串的过程。
(2)模版制作单元115制作模板。
模板是生成系统的关键元素,不管是动态网站还是静态网站,网站中页面的样式、数据都是通过模板来控制的。
模版制作过程就是在模版中放置组件的过程,每个组件可配置一个具体实例,从而实现获取的数据自定义组合。模板通过Html结合自定义置标语言来实现,模板脚本编写采用的是velocity模板语言。自定义置标语言即是预先约定的、能够被系统识别的标记语言,可以自定义。
(3)关联单元116定义页面发布,上传模板到生成系统后,将模板与发布规则进行关联。
(4)任务消息发布装置12向页面发布端2发送一个通知消息文件。页面发布端2接收消息文件后存入消息目录下。
消息以XML文件的形式生成到消息目录,包括任务类型、优先级、创建时间等,优先级越高越先执行,优先级相同创建时间越早越先执行。
(5)扫描装置21定时扫描消息目录下是否存在消息文件,如果存在消息文件,则将该消息文件转换为消息对象,放入优先级队列。
为防止消息文件被再次扫描到,将消息文件加文件锁。发布页面时创建多个任务处理线程,每个线程完成发布任务后,扫描优先级队列。
(6)环境创建单元221创建上下文环境,根据发布页面确定该页面挂接的模板、发布规则。
(7)模版解析单元222解析模板中的组件,并将解析结果放入缓存中。
模版解析单元222在解析模板时,根据模板中组件指定的数据资源ID,从业务系统或动态页面生成装置22的缓存中装载业务数据,并根据组件的描述生成相应的、页面所需的字符串,将解析结果放入缓存中。
(8)路径计算单元223计算页面和外联文件的外网路径。
(9)页面发布单元224生成动态页面,页面生成是把模板转化为最终结果页面的过程。根据发布资源需要接收的参数,以及获取业务数据的方式,生成动态页面。
在生成页面时对模板文件进行扫描,碰到Html元素,页面发布单元224进行资源文件处理后,直接输出;碰到自定义置标语言,则通过在缓存中读取组件指定发布资源的数据,解析组件中描述的逻辑,产生相应的效果字符串,输出到结果页面中。
下面以一个具体实例对上述方法进行举例说明。
如图5所示,通过上述方法生成图5所示的列表页面,具体操作过程如下:
(1)确定发布资源,设置资源组件需要的相应参数。
(2)添加一个发布结构,为结构指定一个发布后的页面文件名和页面存放路径。在定义发布结构之前需要提前定义好网站的域名和目录结构:
①定义网站域名,定义域名以及URL。
②定义网站目录,定义网站文件存放的目录。
(3)制作模板,模板中放置组件,组件的描述字符串如图6所示。
(4)在发布系统中创建模板,并把模板文件上传到发布系统。
(5)将增加的模板指定到步骤(2)创建的发布结构上去。
(6)合成模板,模板合成的过程主要是把步骤(3)中写的组件转换成Java的方法调用,上述的组件在合成之后,变成如图7所示的java代码。
(7)发布时将模板、模板中的外联文件拷贝到指定的位置上去。
(8)将结果页面分发到指定的服务器上,即可以通过域名访问该模板页面。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其同等技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (9)
1.一种与业务逻辑关系松散的动态页面生成方法,包括以下步骤:
(1)页面管理端确定需要发布的资源、外网访问网站的域名、网站发布的结构目录,页面生成存放的网站目录;
(2)制作模板,并将所述模板与发布规则进行关联;
(3)页面管理端向页面发布端发一个通知消息文件;
(4)页面发布端定时扫描消息目录下是否存在通知消息文件,如果存在通知消息文件,则将该通知消息文件转换为消息对象,放入优先级队列;
(5)页面发布端创建上下文环境,根据发布页面确定该页面挂接的模板和发布规则;
(6)解析模板中的组件,将解析结果存储在缓存中,并计算页面和外联文件的外网路径;
(7)根据发布资源需要接收的参数,以及获取业务数据的方式,生成动态页面。
2.如权利要求1所述的动态页面生成方法,其特征在于:步骤(1)中所述资源包括数据文件、数据表和获取数据的服务。
3.如权利要求1所述的动态页面生成方法,其特征在于:步骤(2)中所述模板由组件构成,通过Html结合自定义置标语言来实现,模板脚本编写采用veloci ty模板语言。
4.如权利要求1所述的动态页面生成方法,其特征在于:步骤(3)中所述通知消息文件以XML文件的形式生成到消息目录,包括任务类型、优先级和创建时间,优先级越高越先执行,优先级相同创建时间越早越先执行。
5.如权利要求1~4中任一项所述的动态页面生成方法,其特征在于:创建多个任务处理线程并行处理步骤(4)中所述优先级队列中的消息对象,每个线程完成发布任务后,扫描优先级队列。
6.如权利要求1~4中任一项所述的动态页面生成方法,其特征在于:步骤(4)中为所述消息目录下的通知消息文件加文件锁,防止再次被扫描到。
7.如权利要求1~4中任一项所述的动态页面生成方法,其特征在于,步骤(6)中所述解析模板中的组件的过程如下:
根据模板中组件指定的数据资源ID,从业务系统或缓存中装载业务数据,并根据组件的描述生成相应的、页面所需的字符串,将解析结果放入缓存中。
8.如权利要求1~4中任一项所述的动态页面生成方法,其特征在于,步骤(7)中所述生成动态页面的过程如下:
在生成页面时对模板文件进行扫描,碰到Html元素,进行资源文件处理后,直接输出;碰到自定义置标语言,则通过在缓存中读取组件指定发布资源的数据,解析组件中描述的逻辑,产生相应的效果字符串,输出到结果页面中。
9.一种与业务逻辑关系松散的动态页面生成系统,包括页面管理端(1)和页面发布端(2);其特征在于:
所述页面管理端(1)包括用于对待发布资源进行预处理的预处理装置(11),以及用于向页面发布端(2)发送通知消息文件的任务消息发布装置(12);
所述页面发布端(2)包括用于定时扫描消息目录下是否存在通知消息文件,如果存在通知消息文件,则将该通知消息文件转换为消息对象,放入优先级队列的扫描装置(21),以及用于生成动态页面的动态页面生成装置(22);
所述预处理装置(11)包括用于确定发布资源的组件确定单元(111);用于确定外网访问网站域名的域名确定单元(112);用于确定网站发布结构目录的目录确定单元(113);用于确定页面生成存放网站目录的规则确定单元(114);用于制作发布页面时模版的模版制作单元(115);以及用于将模板与发布规则进行关联的关联单元(116);所述动态页面生成装置(22)包括用于创建上下文环境,根据发布页面确定该页面挂接的模板和发布规则的环境创建单元(221);
用于解析模板中的组件,并将解析结果放入缓存中的模版解析单元(222);
用于计算页面和外联文件的外网路径的路径计算单元(223);用于生成动态页面,根据发布资源需要接收的参数,以及获取业务数据的方式,生成动态页面的页面发布单元(224)。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210402415.2A CN103777931B (zh) | 2012-10-22 | 2012-10-22 | 一种与业务逻辑关系松散的动态页面生成方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210402415.2A CN103777931B (zh) | 2012-10-22 | 2012-10-22 | 一种与业务逻辑关系松散的动态页面生成方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103777931A CN103777931A (zh) | 2014-05-07 |
CN103777931B true CN103777931B (zh) | 2017-05-10 |
Family
ID=50570215
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210402415.2A Expired - Fee Related CN103777931B (zh) | 2012-10-22 | 2012-10-22 | 一种与业务逻辑关系松散的动态页面生成方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103777931B (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105574012B (zh) * | 2014-10-13 | 2019-02-26 | 北大方正集团有限公司 | 备课文档的创建方法、备课文档的创建系统和服务器 |
CN107346305B (zh) * | 2016-05-04 | 2021-01-26 | 北京京东尚科信息技术有限公司 | 基于Velocity块指令的局部缓存方法和装置 |
CN106528124B (zh) * | 2016-10-26 | 2019-06-14 | 广东广新信息产业股份有限公司 | 页面模板发布方法和系统 |
CN111309319B (zh) * | 2020-02-13 | 2024-02-13 | 卓望数码技术(深圳)有限公司 | 可继承的局数据动态页面配置方法和装置 |
CN111596997B (zh) * | 2020-05-13 | 2021-02-09 | 深圳市宏电技术股份有限公司 | Ui信息的请求方法、装置、终端和存储介质 |
CN113704665B (zh) * | 2021-08-30 | 2023-10-13 | 康键信息技术(深圳)有限公司 | 动态服务发布方法、装置、电子设备及存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101256492A (zh) * | 2008-03-31 | 2008-09-03 | 宋乃辉 | 一种进行模型驱动架构的软件开发方法及其系统 |
CN101770484A (zh) * | 2008-12-31 | 2010-07-07 | 北大方正集团有限公司 | 一种网站更新实时发布的方法及系统 |
CN102340704A (zh) * | 2010-07-16 | 2012-02-01 | 中国联合网络通信集团有限公司 | 异步动态页面切换方法和系统以及服务器 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1369790A3 (de) * | 2002-05-29 | 2007-01-24 | Siemens Aktiengesellschaft | Verfahren zur dynamischen Generierung strukturierter Dokumente |
-
2012
- 2012-10-22 CN CN201210402415.2A patent/CN103777931B/zh not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101256492A (zh) * | 2008-03-31 | 2008-09-03 | 宋乃辉 | 一种进行模型驱动架构的软件开发方法及其系统 |
CN101770484A (zh) * | 2008-12-31 | 2010-07-07 | 北大方正集团有限公司 | 一种网站更新实时发布的方法及系统 |
CN102340704A (zh) * | 2010-07-16 | 2012-02-01 | 中国联合网络通信集团有限公司 | 异步动态页面切换方法和系统以及服务器 |
Also Published As
Publication number | Publication date |
---|---|
CN103777931A (zh) | 2014-05-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103777931B (zh) | 一种与业务逻辑关系松散的动态页面生成方法及系统 | |
CN104461484B (zh) | 前端模板的实现方法和装置 | |
US8073857B2 (en) | Semantics-based data transformation over a wire in mashups | |
US7954052B2 (en) | Method for processing a web page for display in a wiki environment | |
US8219900B2 (en) | Programmatically hiding and displaying Wiki page layout sections | |
Lanthaler | Creating 3rd generation web APIs with hydra | |
Capadisli et al. | Decentralised authoring, annotations and notifications for a read-write web with dokieli | |
US20080010609A1 (en) | Method for extending the capabilities of a Wiki environment | |
US20080010387A1 (en) | Method for defining a Wiki page layout using a Wiki page | |
EP2041673A1 (en) | Method for inheriting a wiki page layout for a wiki page | |
CN1959679A (zh) | 网页微内容提取、聚合和自动更新系统的方法 | |
US20080010345A1 (en) | Method and apparatus for data hub objects | |
US20080010386A1 (en) | Method and apparatus for client wiring model | |
WO2007081017A1 (ja) | 文書処理装置 | |
CN101980205A (zh) | 通用页面的生成方法 | |
JP2008134906A (ja) | 業務プロセス定義生成方法、装置及びプログラム | |
JPWO2007132568A1 (ja) | データ処理サーバ及びデータ処理方法 | |
Franz et al. | The X-COSIM integration framework for a seamless semantic desktop | |
TW201411378A (zh) | 資料庫交互系統及方法 | |
JP2007233695A (ja) | 注釈管理装置、ウェブ表示端末、注釈管理方法およびウェブ表示方法 | |
CN102622351B (zh) | 转换网络页面类型的方法、装置和系统 | |
Tayeh et al. | Open cross-document linking and browsing based on a visual plug-in architecture | |
Hu et al. | An XML-based implementation of manufacturing route sheet documents for context-sensitive and web-based process planning | |
Xu | The research of workflow dynamic forms based on XML | |
Bai et al. | Design of a Web-Based Building Management System Using Ajax and Web Services |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20170510 Termination date: 20191022 |
|
CF01 | Termination of patent right due to non-payment of annual fee |