CN1858736A - 一种实现智能链接的方法 - Google Patents

一种实现智能链接的方法 Download PDF

Info

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
Application number
CN 200610001082
Other languages
English (en)
Other versions
CN100403312C (zh
Inventor
张晋
范荣
夏晶
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CNB2006100010827A priority Critical patent/CN100403312C/zh
Publication of CN1858736A publication Critical patent/CN1858736A/zh
Application granted granted Critical
Publication of CN100403312C publication Critical patent/CN100403312C/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

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语言。
CNB2006100010827A 2006-01-16 2006-01-16 一种实现智能链接的方法 Expired - Fee Related CN100403312C (zh)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Cited By (5)

* Cited by examiner, † Cited by third party
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