CN1858736A - 一种实现智能链接的方法 - Google Patents
一种实现智能链接的方法 Download PDFInfo
- Publication number
- CN1858736A CN1858736A CN 200610001082 CN200610001082A CN1858736A CN 1858736 A CN1858736 A CN 1858736A CN 200610001082 CN200610001082 CN 200610001082 CN 200610001082 A CN200610001082 A CN 200610001082A CN 1858736 A CN1858736 A CN 1858736A
- Authority
- CN
- China
- Prior art keywords
- page
- link
- attribute
- intelligent interlinking
- class
- 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.)
- Granted
Links
Images
Abstract
本发明公开了一种实现智能链接的方法,预先将链接属性以及对链接属性的操作抽象为链接类,将对链接对象的处理逻辑抽象并封装为链接逻辑接口类,并在此基础上构造包含链接类和链接逻辑接口类的智能链接类,根据智能链接类为第一页面中每一个可能用到的智能链接分别生成一个智能链接对象;分析第一页面可以提供到第二页面的数据,根据所分析的数据和逻辑处理接口类创建逻辑处理接口对象;逻辑处理接口对象根据第一页面所提供的数据,设置与第二页面相关的智能链接对象的各项属性;根据与第二页面相关的智能链接对象的属性,在第二页面上显示该智能链接对象所对应的链接。通过应用本发明方法,可以降低页面代码的复杂度,使代码可以重复使用。
Description
技术领域
本发明涉及链接(link)技术,特别是一种实现智能链接的方法。
背景技术
链接是互联网(Internet)上广泛使用的一项技术,它用于提供页面跳转的功能。一般情况下,可以通过超文本链接标示语言(HTML)来实现链接,HTML实现链接的基本语法为:
<a href=″URL″>…</a>
Web浏览器可以将<a>与</a>之间的页面内容显示在页面上。也就是说,在页面上会显示“…”所表示的内容。当鼠标点击这些内容时,页面就可以跳转到由统一资源定位符(URL)所指向的页面。URL用于标识新的页面地址,一般采用下面的格式:
http://域名/目录名/页面名称?parm1=P1&parm2=P2&……
它表示从当前页面跳转到“域名/目录名/页面名称”所指定的页面,并且向该页面传递parm1、parm2等参数。
当客户端向服务器发送请求后,服务器可以根据客户端发送的请求或者根据数据库读取的内容或系统时间等其他输入条件,依据某种算法规则,在应答客户端的页面中生成一个或者多个链接;通过所生成的这些链接,客户端可以跳转到算法规则指定的页面。由于这些链接是依据特定的条件动态生成的,具有一定的智能性,因此被称为智能链接。
目前,通过动态服务器主页(ASP)、PHP、CGI等一般的服务器编程方法都可以实现链接的智能化生成,但是在这些技术中,由于生成链接的逻辑直接写在输出页面中,并没有做到页面形式和页面逻辑的分离,从而增加了页面代码的复杂度。同时,在这些技术中,由于对链接的相关属性和操作并没有进行抽象和封装,使得代码不能重用,从而增加了程序员的负担。
发明内容
有鉴于此,本发明的主要目的是提出一种实现智能链接的方法,从而降低页面代码的复杂度,以使代码可以重复使用。
为达到上述目的,本发明的技术方案是这样实现的:
一种实现智能链接的方法,预先将链接属性以及对所述链接属性的操作抽象为链接类,将对链接对象的处理逻辑抽象并封装为链接逻辑接口类,并在此基础上构造包含链接类和链接逻辑接口类的智能链接类,该方法进一步包括以下步骤:
A、分析第一页面可能使用到的智能链接,并且根据智能链接类为每一个可能用到的智能链接分别生成智能链接对象,并将智能链接对象的各个属性赋初值;
B、分析第一页面可以提供到第二页面的数据,根据所分析的数据和逻辑处理接口类创建逻辑处理接口对象;
C、逻辑处理接口对象根据第一页面所提供的数据,设置与第二页面相关的智能链接对象的各项属性;
D、根据与第二页面相关的智能链接对象的属性,在第二页面上显示该智能链接对象所对应的链接。
步骤C中所述设置与第二页面相关的智能链接对象的各项属性中,进一步包括:设置与第二页面相关的智能链接对象的名称;
步骤D为:在第二页面上显示名称不为空的与第二页面相关的智能链接对象所对应的链接。
当所述第二页面的数目大于1时,则对于每一个第二页面,分别执行步骤B至步骤D。
所述链接属性包括链接名称、链接指向的页面、链接的界面显示信息、链接的参数列表。
所述对链接属性的操作包括:获取任一属性的操作、设置任一属性的操作、在页面上绘制链接的操作。
所述封装为链接逻辑接口类为:利用面对对象的编程语言实现封装为链接逻辑接口类。
所述面对对象的编程语言为JAVA语言、C语言、C++语言、BASIC语言、VISUAL C语言、PASCAL语言。
从以上的技术方案中可以看出,在本发明所提出的实现智能链接的方法中,预先将链接属性以及对链接属性的操作抽象为链接类,将对链接对象的处理逻辑抽象并封装为链接逻辑接口类,并在此基础上构造包含链接类和链接逻辑接口类的智能链接类,然后再分析第一页面而创建逻辑处理接口对象,再根据与第二页面相关的智能链接对象的属性,在第二页面上显示该智能链接对象所对应的链接。由此可见,在本发明中,通过对链接的属性和对应的逻辑操作进行封装,实现了页面逻辑和页面形式的分离,从而在达到自动给链接的参数赋值、动态控制链接的显示的目的同时,又降低页面代码的复杂度,使代码可以重复使用,从而极大地降低了程序员的工作强度。
附图说明
图1为根据本发明实施例的智能链接单元类示意图。
图2为根据本发明实现智能链接的示范性流程示意图。
具体实施方式
为使本发明的目的、技术方案和优点表达得更加清楚明白,下面结合附图及具体实施例对本发明再作进一步详细的说明。
本发明的主要思想为:利用目前流行的面对对象的设计方法将链接的属性和对这些属性的操作进行封装,并设定对该属性和操作的逻辑处理方法;通过所设定的逻辑处理方法并根据传入的输入参数来动态地更新链接对象的属性,同时通过控制链接对象的名称来控制链接的显示,当名称为空时则不显示该链接,从而实现动态生成链接。
为实现上述发明思想,首先需要定义链接类;链接类中封装了链接的基本属性和对这些属性的操作,其中基本属性有链接名称(name)、链接指向的页面(page)、链接的界面显示信息(message)、链接的参数列表(param);操作包括了获取任一属性的操作、设置任一属性的操作、在页面上绘制链接的操作;
其次需要定义链接逻辑处理接口类:链接逻辑处理接口类中封装了处理链接的逻辑方法,包括依据来自于提供输入参数的页面传入的输入参数来动态更新链接对象的属性;根据链接对象中的一个或多个属性生成链接对象名称;根据链接对象的名称判断是否显示该链接对象所对应的链接,当名称为空的时候不显示。
定义链接类和链接逻辑处理接口类后,基于链接类和链接逻辑处理接口类而构成智能链接类。图1为根据本发明实施例的智能链接类示意图。其中,ILinkData类为链接类,用于存放智能链接的数据,其中封装了所有设置和取得数据的方法;ILinkLogic接口为智能链接的逻辑处理接口,用于智能链接类进行逻辑处理;ILink类为智能链接类,封装了ILinkDate和ILinkLogic以及设置和取得它们的方法。
具体地,下面以JAVA语言为例说明定义链接类、链接逻辑处理接口类以及构成构成智能链接类。表1为ILinkData类的成员变量和构造函数以及成员函数表;表2为ILinkLogic类的成员变量和构造函数以及成员函数表;表3为ILink类的成员变量和构造函数以及成员函数表。
ILinkData类,存放智能链接的数据。封装了所有设置和取得数据的方法。 |
public class ILinkData |
成员变量 |
限定符 | 名称 | 描述 |
private String | name | 存放链接名称 |
private String | page | 存放链接页面 |
private String | message | 存放链接前面的提示信息 |
private boolean | confirmFlag | 在点击链接前转页面时是否需要提示 |
private HashMap | param | 存放链接的参数表 |
构造函数 | ||
限定符 | 原型 | 描述 |
public | ILinkData(String name,String page,String[][]param,String message) | 初始化ILinkData类 |
public | ILinkData() | 初始化ILinkData类 |
成员函数 | ||
限定符 | 原型 | 描述 |
publicString | getName() | 得到链接名称 |
publicString | getPage() | 得到链接页面 |
publicHashMap | getParam() | 得到链接参数表 |
publicString | getMessage() | 得到链接前的显示信息 |
publicboolean | isConfirm() | 得到链接是否需要提示 |
publicvoid | setConfirm(boolean ifConfirm) | 设置链接是否需要提示 |
publicvoid | setName(Stringname) | 设置链接的名称 |
publicvoid | setPage(Stringpage) | 设置链接的页面 |
publicvoid | setParam(HashMap param) | 设置链接的参数表 |
publicvoid | setMessage(String message) | 设置链接前的提示信息 |
publicString | toString() | 输出链接的HTML表达式 |
表1
ILinkLogic类,封装了智能链接的逻辑处理接口 | ||
public interface ILinklLogic | ||
成员变量 | ||
成员函数 | ||
限定符 | 原型 | 描述 |
public void | logic(ILinkDataiLinkDate,Hashtable result) | 智能链接的处理逻辑接口,根据rusult中的参数来处理逻辑 |
表2
ILink类,可实现结果页面的智能链接。 | ||
public class ILink | ||
成员变量 | ||
限定符 | 名称 | 描述 |
privateILinkLogic | logic | 存放页面链接的逻辑接口 |
privateILinkData | iLinkData | 存放页面链接 |
构造函数 | ||
限定符 | 原型 | 描述 |
public | ILink(name:String,page:String,param:String[][]) | 初始化ILink类 |
成员函数 | ||
限定符 | 原型 | 描述 |
publicILInkData | getILink() | 得到智能链接的数据类 |
public void | setLogic(logic:ILinkLogic) | 设置智能链接的逻辑处理接口 |
publicILinkLogic | getLogic() | 得到智能链接的逻辑处理接口 |
public void | logic(Hashtableresult) | 智能链接的处理逻辑接口,根据rusult中的参数来处理逻辑 |
publicString | toString() | 输出链接的HTML表达式 |
表3
以上各表中,虽然利用JAVA语言实现了对链接的属性及其操作的封装以及定义智能链接类,不过本领域普通技术人员可以意识到,本发明并不局限于此。相反,本发明还可以采用其他面向对象语言实现类似封装,比如C语言、C++语言、BASIC语言、VISUAL C语言、PASCAL语言等。
在链接类和链接逻辑处理接口类的基础上,图2为根据本发明的实现智能链接的示范性方法流程图。
如图2所示,该方法包括以下步骤:
步骤201:将链接属性以及对链接属性的操作抽象并封装为链接类,将对链接对象的处理逻辑抽象并封装为链接逻辑接口类,并在此基础上构造包含链接类和链接逻辑接口类的智能链接类;
在这里,链接属性优选包括链接名称、链接指向的页面、链接的界面显示信息、链接的参数列表。对链接属性的操作优选包括获取任一属性的操作、设置任一属性的操作、在页面上绘制链接的操作。
步骤202:分析一个页面可能使用到的智能链接,并且根据智能链接类为每一个可能用到的智能链接分别生成一个智能链接对象,并将智能链接对象的各个属性赋初值;为便于表述,以下称该页面为页面a;
步骤203:分析页面a可以提供到其他页面的数据,为便于表述,假设所述其他页面的数目为1个,称所述其他页面为页面b;根据逻辑处理接口类创建逻辑处理接口对象,所创建的逻辑处理接口对象中包括了对页面a向页面b提供的数据所进行的逻辑操作;
步骤204:逻辑处理接口对象根据页面a所提供的数据,设置与页面b相关的智能链接对象的各项属性,所设置的属性中包括智能链接对象的名称;
步骤205:分别判断与页面b相关的各个智能链接对象的名称是否为空,若是,则结束本流程;若否,则执行步骤206并结束;
步骤206:在页面b上显示与页面b相关的,且名称不为空的智能链接对象所对应的链接。
上述方案中,页面a可能为许多页面,将这些页面分别称为页面b1、页面b2、页面b3等等,分别提供数据,则对应于每一个页面a可提供数据的页面,可分别执行步骤203~206,为这些页面分别创建智能链接并分别在这些页面上显示所创建的智能链接。
以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (7)
1、一种实现智能链接的方法,其特征在于,预先将链接属性以及对所述链接属性的操作抽象为链接类,将对链接对象的处理逻辑抽象并封装为链接逻辑接口类,并在此基础上构造包含链接类和链接逻辑接口类的智能链接类,该方法进一步包括以下步骤:
A、分析第一页面可能使用到的智能链接,并且根据智能链接类为每一个可能用到的智能链接分别生成智能链接对象,并将智能链接对象的各个属性赋初值;
B、分析第一页面可以提供到第二页面的数据,根据所分析的数据和逻辑处理接口类创建逻辑处理接口对象;
C、逻辑处理接口对象根据第一页面所提供的数据,设置与第二页面相关的智能链接对象的各项属性;
D、根据与第二页面相关的智能链接对象的属性,在第二页面上显示该智能链接对象所对应的链接。
2、根据权利要求1所述的方法,其特征在于,步骤C中所述设置与第二页面相关的智能链接对象的各项属性中,进一步包括:设置与第二页面相关的智能链接对象的名称;
步骤D为:在第二页面上显示名称不为空的与第二页面相关的智能链接对象所对应的链接。
3、根据权利要求1或2所述的方法,其特征在于,当所述第二页面的数目大于1时,对于每一个第二页面分别执行步骤B至步骤D。
4、根据权利要求1的方法,其特征在于,所述链接属性包括链接名称、链接指向的页面、链接的界面显示信息、链接的参数列表。
5、根据权利要求1的方法,其特征在于,所述对链接属性的操作包括:获取任一属性的操作、设置任一属性的操作、在页面上绘制链接的操作。
6、根据权利要求1的方法,其特征在于,所述封装为链接逻辑接口类为:利用面对对象的编程语言实现封装为链接逻辑接口类。
7、根据权利要求1的方法,其特征在于,所述面对对象的编程语言为JAVA语言、C语言、C++语言、BASIC语言、VISUAL C语言、PASCAL语言。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB2006100010827A CN100403312C (zh) | 2006-01-16 | 2006-01-16 | 一种实现智能链接的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB2006100010827A CN100403312C (zh) | 2006-01-16 | 2006-01-16 | 一种实现智能链接的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1858736A true CN1858736A (zh) | 2006-11-08 |
CN100403312C CN100403312C (zh) | 2008-07-16 |
Family
ID=37297645
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB2006100010827A Expired - Fee Related CN100403312C (zh) | 2006-01-16 | 2006-01-16 | 一种实现智能链接的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN100403312C (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2011130871A1 (zh) * | 2010-04-19 | 2011-10-27 | Kong Xue | 主动式自动定制web应用的系统和方法 |
CN104168250A (zh) * | 2013-05-15 | 2014-11-26 | 腾讯科技(深圳)有限公司 | 基于cgi框架的业务流程控制方法及装置 |
CN104346158A (zh) * | 2013-08-09 | 2015-02-11 | 华为终端有限公司 | 一种处理级联页面的方法和用户设备 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5326553A (en) * | 1993-02-02 | 1994-07-05 | Sterling Winthrop Inc. | Compositions of iodophenoxy alkanes and iodophenyl ethers in film-forming materials for visualization of the gastrointestinal tract |
US6651108B2 (en) * | 1995-08-14 | 2003-11-18 | Next Software, Inc. | Method and apparatus for generating object-oriented world wide web pages |
US6973625B1 (en) * | 2001-07-06 | 2005-12-06 | Convergys Cmg Utah | Method for creating browser-based user interface applications using a framework |
US7197702B2 (en) * | 2003-06-13 | 2007-03-27 | Microsoft Corporation | Web page rendering mechanism using external programmatic themes |
-
2006
- 2006-01-16 CN CNB2006100010827A patent/CN100403312C/zh not_active Expired - Fee Related
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2011130871A1 (zh) * | 2010-04-19 | 2011-10-27 | Kong Xue | 主动式自动定制web应用的系统和方法 |
CN104168250A (zh) * | 2013-05-15 | 2014-11-26 | 腾讯科技(深圳)有限公司 | 基于cgi框架的业务流程控制方法及装置 |
CN104168250B (zh) * | 2013-05-15 | 2018-06-15 | 腾讯科技(深圳)有限公司 | 基于cgi框架的业务流程控制方法及装置 |
CN104346158A (zh) * | 2013-08-09 | 2015-02-11 | 华为终端有限公司 | 一种处理级联页面的方法和用户设备 |
CN104346158B (zh) * | 2013-08-09 | 2017-11-21 | 华为终端(东莞)有限公司 | 一种处理级联页面的方法和用户设备 |
Also Published As
Publication number | Publication date |
---|---|
CN100403312C (zh) | 2008-07-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7269792B2 (en) | System and method for generating high-function browser widgets with full addressability | |
JP5010551B2 (ja) | 動的ウェブページコンテンツファイルからのサーバ側コード生成 | |
JP4643931B2 (ja) | 外部プログラムに基づくテーマを使用するWebページレンダリング機構 | |
US6961750B1 (en) | Server-side control objects for processing client-side user interface elements | |
US8504913B2 (en) | Client-side components | |
JP4467205B2 (ja) | サーバ側制御オブジェクトによるポストバック入力のハンドリング | |
AU2003266253B2 (en) | Method and computer system for handling incremental data in client-server communication | |
CN1255735C (zh) | 减少基于网络的应用中的服务器交互次数的方法和设备 | |
US6792607B1 (en) | Databinding using server-side control objects | |
US7519970B2 (en) | Methods, systems and computer program products for creating user interface to applications using generic user interface templates | |
CN1252621C (zh) | 指示到外部统一资源定位器的链接的方法 | |
CN1257473C (zh) | Html文档中增加可访问性的主动alt标记的方法和系统 | |
JP3808020B2 (ja) | Javaサーブレットの機能を有するWebサーバ、Javaプログラムの更新方法、およびコンピュータプログラム | |
JP2002049585A (ja) | サーバ側制御オブジェクトの状態管理方法 | |
US7350213B2 (en) | System and method for dynamic selection of stateless/stateful software components | |
US20050268243A1 (en) | Dynamic ecmascript class loading | |
IES20030062A2 (en) | Document transformation | |
US8631324B2 (en) | Running content emitters natively on local operating system | |
JP2009054151A (ja) | 通信メッセージ・インスタンス投入方法、データ・インスタンス投入方法、通信メッセージ・インスタンス投入装置、および、コンピュータ読取可能媒体 | |
US20050188383A1 (en) | Methods and systems for resource lookup and redirection | |
US20040122915A1 (en) | Method and system for an extensible client specific calendar application in a portal server | |
CN109145236A (zh) | 页面文件处理方法、装置及系统 | |
CN1656481A (zh) | 动态标记语言 | |
CN1858736A (zh) | 一种实现智能链接的方法 | |
US20060026094A1 (en) | Systems and methods for distributing updated information in a stateless system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20080716 Termination date: 20180116 |