利用ASP实现三个强大功能之一为Web站点添加拼写检查功能

作者:不详 来源: 日期:2002-6-20
许多开发者都提出“如何对用户输入的内容进行拼写检查”的问题,这篇文章正好提供了一
个有用的方法,讨论如何使用XDE拼写检查组件,它既可以当作拼写检查器,同时也可以做
完一个字典。关于这个组件的一个好消息是:它能够在服务器端使用,或者做为一个Java 
Applet。但是有一点,这些方便之处不是免费的,它要花费大约100美元。然而,该组件提
供了一个30天免费使用评估版本,所以在真正决定购买前,你可以仔细进行测试,认真考虑
是否满足需要。 


  首先,访问http://mirrordns.com/download/站点,输入一些信息(名字、电子邮件,
等等),下载并安装这个组件。下一步,从可供下载的XDE众多组件中选择 “Quick Spell 
Check Full Install”项目进行下载。下载完毕后,进行安装。在安装程序结束前,出现一
个注册登记菜单,这时,简单地选择默认选择“Evaluation Period”。 


  注意,现在的程序还是BETA版本。如果你不希望发生潜在的错误,我建议等第一个正式
版本出来后再下载进行试验。我已经发现了现有版本的一些错误。你要记住:这是一个BETA
版本,不要在正式站点上应用。 


  接着,准备注册登记组件。现在决定一下你是否想要包含Word 97的字典和词典功能,
如果需要,请先在Web服务器上安装Word 97或者Word 2000,然后参照
http://mirrordns.com/spellchecker/server_installation.htm 的说明执行一套特殊的命
令。如果不想使用整个Word 97的字典,就象注册其他组件一样接着进行: 

  拷贝DLL文件SpellCheckServer.dll到Windows的System或者System32目录 

  使用regsvr32注册组件:regsvr32 spellcheckserver.dll 

  现在安装完组件,可以在ASP代码中使用了。为了创建使用拼写检查对象的示例,仅仅
简单的编写下面的代码: 


Set objSpellCheck = Server.CreateObject("SpellCheck.ClsChecker") 


  如我前面提到的,这个组件提供了拼写检查和词典的功能。首先,来看看如何返回给定
单词的一系列同义词。这要使用到LookupSynonym方法,该方法需要一个参数,就是需要寻
找同义词的单词。执行后,拼写检查对象收集相关的单词到集合对象SynonymWords。执行下
面的代码,将返回“Quick”单词的所有同义词: 


< % 


Dim objSpellChecker, iLoop 

’Create an instance of the SpellChecker 

Set objSpellCheck = Server.CreateObject("SpellCheck.ClsChecker") 

objSpellChecker.UseMSWord = False ’We’re not using MSWord 

objSpellChecker.LookupSynonym "Quick" ’Lookup the synonym for "quick" 

’Loop through the returned words: 

Response.Write "The following synonyms for ’Quick’ exist: " 

For iLoop = 1 To objSpellChecker.SynonymWords("Quick").SuggestedWords.Count 

Response.Write objSpellChecker.SynonymWords("Quick").SuggestedWords(iLoop).word 

Response.Write " " 

Next 


%> 

  在服务器端执行拼写检查对于代码结构是非常紧凑的,但以我只见,要发挥强大的功
能,必须依赖Java applet形式的拼写检查。以下将重点讨论如何应用这种方式,关于在服
务器端使用组件的方法,请参见http://mirrordns.com/spellchecker/ 。 

为了使用Java applet,需要将安装目录下的.class文件拷贝到一个web可访问目录。比如,
这里将文件移动到/spellcheck目录下。然后,创建一个表单,包含一个文本框或者文本
域,其中是要进行拼写检查的内容。 

< HTML> 

< BODY> 

< FORM NAME="frmSpellCheckExample"> 

< textarea name="JavaTextArea" rows="8" cols="50">< P> 

< INPUT TYPE="button" value="Start Spell Check" onclick="SpellCheck();"> 

  接着,使用APPLET标记来引用Java applet: 

< applet codebase ="/spellcheck/" code="SpellCheck.class" 

height="1" name="spellcheck" width="1" 

ALT="Applet not displayed"> 

< param name="foreground" value="FFFFFF"> 

< param name="background" value="008080"> 

< param name="label" value="This string was passed from the HTML host."> 


注意:在APPLET标记中的codebase参数指向.class文件所在的目录。 

最后,在客户端使用一段JavaScript代码来组装applet参数: 

< script language="JavaScript"> 

function SpellCheck() { 

document.spellcheck.ptexttocheck = 

document.frmSpellCheckExample.JavaTextArea.value; 

document.spellcheck.doDlg(); 

if (document.spellcheck.fixedtext!="") { 

document.frmSpellCheckExample.JavaTextArea.value = 

document.spellcheck.fixedtext; 





  这就完成了!如果想更多地了解如何使用该组件和Java Applet,一定来下面的地方看
看:http://mirrordns.com/spellchecker/。
相关文章