收稿日期6作者简介李亚鹏(),男,吉林省公主岭市人,副教授,从事计算机软件和硬件的教学、研制以及开发工作。
在ASP 中运用多种脚本语言的方法初探
李亚鹏
(无锡商业职业技术学院,无锡214153)
摘 要:在ASP 中利用VBScript 和Jscript 这两种常用的脚本语言,可以编写出完成多种功能的页面,通常情况下,V B 2
Script 和J script 交互应用比较困难,本文就VBScript 和J script 这两种常用的脚本语言的交互问题进行了探讨,利用ActiveX
脚本引擎,可以实现网页中多种脚本语言的交互应用。
关键词:A SP ;交互;V BS cript ;Jscript 中图分类号:TP393 文献标识码:A
Preliminary S t udy on the Application of a V ar iety of S cr ipting Language in ASP
LI Y apeng
(Wux i Bu sine ss Vo cational and Technical Co llege ,Wux i 214153,Ch ina)
A bstract :Using the tw o c omm on scripting language of V BS cript and Jscript in ASP can pre pare a variety of pages to finish multiple functions.Under normal circumstances ,t he interactive application of VBScript and Jscript i s difficult.S o the interactive issues of these tw o c omm on scripting language are di scussed in this article ,using A ctiveX scripting engine ,t he interactive a pplication of a var iety of scripti ng language in w eb pages can be achieved.
K ey w or ds :ASP ;interactive ;V BS cript ;Jscript ASP (A ctive Server P age )是当今开发交互式Web 页面、Web 数据库应用最强大的技术。在其中可以混用HT ML 、DHTM L 、ActiveX 、V BS cript 或JavaScript 。当这些技术都无法奏效时,可以使用服务器组件(S erver S ideComponent )进一步扩展ASP 的能力。
Server S ideC omponent 实际上是运行在服务器上的一个D LL ,它可以完成常规D LL 所能胜任的任何任务。不同之处是:它由ASP 页面调用、并以Web 页面为交互对象,读入用户的输入(W eb 页面上各输入域的值),处理后返回结果到W eb 页面。这些交互当然都要通过W eb 服务器作为中介。可以用V B 、VFP 、VC ++、C ++Builder 、Delphi 等任意支持CO M 技术的语言编写。
ASP 具备管理不同语言脚本程序的能力,能够自动调用合适的脚本引擎以解释脚本代码和执行内置函数。ASP 开发环境提供了两种脚本引擎,即V BScript (缺省)和JS cript 。不过,开发者并没有被限制于只能使用这两种语言,只要能够提供合适的ActiveX 脚本引擎就能使用多种脚本语言。
脚本语言的选择往往基于许多不同原因:它可能是开发者最为熟悉的语言,可能是对给定工程来说能够提供最多特支持的,也有可能是最具效率的。不同的环境和要求使得在选择脚本语言时注重不同的因素,同时也使得我们在某些时候面临选定的脚本语言不能直接提供其它语言固有的函数这一问题,或某个脚本已经写成但用的却是另外一种脚本语言。
1 在AS P 中VBS cript 和J S cript 的内置函数
的使用
在V BScript 和JScript 中,有大量的内置函数功能是相同或类似的。然而,在一种脚本语言中内置的函数并非总是在另外一种脚本语言中也有对应的函数。例如,V BScript 提供了许多用于操作字符串和格式化数据的函数,这些函数在JS cript
:2009-0-12
:1970-0
01
中并不存在。这些函数包括StrReverse()、Filter()以及F ormatCurrency()等。在另一方面,JS cript所提供的用于管理数组、字符串编码等的函数在V B2 Script中也没有定义,如join()、reverse()、pow()、位操作、esca pe()和unescape()等[1]。
2 多种脚本的相互调用方式
如果需要在JS cript脚本中调用一个V BScript 中内置的函数,则应该写一个V BS cript用户定义函数(在这里调用VBScript内置函数),然后在JS cript 脚本中象调用公用JScr ipt函数一样调用这个用户定义函数。
例如,如果要调用的V BSCript内置函数是F or2 matCurrency(),则可以声明如下自定义函数: <SCRIPT LANG U AG E=“V BSCRI PT”RU N AT=“SERVER”>
Function F ormatValue(Value)
F ormatValue=F ormatCurrency(Value)
End Function
</SCRIPT>
在JScript代码中就可以象普通JScript函数一样调用F ormatV al ue()了。用类似的方法也可以实现V BS cript代码调用JScr ipt函数[2]。
3 利用对象引用进行数据共享
在某些情形下混合运用VBScript和JScr ipt函数是非常有用的,但在不同语言脚本之间共享数据也可能很有用。实现这种共享的方法很简单:不管使用的是什么语言,只要是在页面级声明的变量就可以任意引用。
对象的使用方法也相似,可以任意选用合适的语言读取、修改属性或调用对象的方法。当然给定对象的属性和方法是由创建该对象实例的语言所定义的。正如上例V BS cript的过程调用,当从JScript中调用一个不带参数的V BScr ipt对象的方法时,其调用方法也遵从JScript的调用规则,反之亦然。
4 数组的引用方法
数组共享问题稍微复杂一点。虽然数组也象其它变量一样可以在不同语言脚本之间共享,但必须注意兼容方面的问题。
V BS cript数组在JS cript下可以用V BS cript的符号引用,即用m yArray(2)引用数组元素。此外,还可以使用一个特殊的JScript对象:V BArray对象将V BS数组转换为S数组。下面的代码从V BS cript数组myV BArray创建JScript数组my JSArray:
var Tem p=new V BArray(myV BArray)
var my JS Array
my JSArray=T Array()
上述代码首先创建一个临时的VBArray对象,然后使用它的toArray()方法将自己转换为JScript 数组。此后就可以象普通JS cript数组一样用my JSArray,如my JS Array。但应当注意的是,toArray ()方法将把一个多维的V BArray转换为一维的JScript数组[3]。
从V BScript中引用JScript数组更为复杂。虽然在VBScript中我们可以直接访问JS cript数组相关的方法和属性,但没有直接访问JScript数组的单个元素的方法。也就是说,我们可以在V BScript 脚本中读取JScript数组的长度属性,如下所示: x=myJSArray.length
但无法直接读取该数组的单个元素,下面的V BScript代码是不正确的:
x=myJSArray(3)
解决该问题的一个可行的方法是执行一个转换过程,如下面的代码所示,此处假定V BS cript是缺省的脚本语言:
<%
Dim T em p
Dim myV BArray
Tem p=myJS Array.join(“,”)
myV BArray=S plit(Temp,“,”)
%>
此处的JScript join()方法将数组my JS Array元素转换到一个以逗号为分割符的字符串,V B2 ScriptS plit()函数将字符串转换为V BS cript数组。注意这里我们是在V BS cript环境下调用JS cript的join方法,依照此例,我们可以通过自定义VBScript 函数来模拟JS cript的V BArray对象的toArray()方法以实现JS cript数组到V BS cript数组的转换。
5 结论
在一个ASP页面内调用不同的脚本语言具有许多优点,这些脚本之间的交互能力更为开发者集成不同语言所提供的内置函数和其它功能带来了更多的使用方法,同时也使得实现既可用于V B2 Script也可用于JScr ipt环境的通用脚本库成为可能,从而更加有效地开发出实用的S网络程序。
(下转第页)
cript J cript A P
104
101
实验学家赤瑞特拉通过大量的实验证明:人类获取的信息83%来自视觉,3.5%来自嗅觉,1.5%来自触觉,1%来自味觉[4],这就是说,如果既能看得见,又能听得见,还能用手操作,通过多种感官刺激获取得的信息量,比单一听教师讲课多得多。这就是说,如果让学生既能听到又能看到,再通过讨论、交流,利用自己的语言表达出来,知识的记忆效果将大大优于传统教学的效果。与传统的教学手段相比,机械制图运用多媒体教学的优越性是有目共睹的。机械制图课主要是培养学生的空间想象力,要求学生根据平面视图想象出空间物体形状,这对大多数学生来说颇有难度。而多媒体采用生动形象的表现手法,使学生能直观地理解三维物体表面上点、线和面的具体位置及其彼此关联。
运用多媒体教学,不仅要让多媒体充分发挥优势,解决传统教学手段无法解决的问题;同时还要达到传统教学手段难以达到的教学效果,形成一套完整的以教师为主导,学生为主体的多媒体教学体系,只有这样,多媒体教学才是成功的。采用多媒体教学应遵循以下三项原则:(1)辅助性、实用性原则;(2)启发性原则;(3)精讲多练原则[5]。只有教得精,学生才容易掌握重点、弄清楚难点。利用多媒体教学信息量大的优势,把课堂节省的时间用来进行有针对性地提问或答疑,这样,教师方可及时掌握学生的学习情况。而如果满堂灌、照本宣科,学生极易产生视听疲劳,最终导致对制图课的学习失去兴趣。
例如,截交线,相贯线的求解等动态要求比较高而模型演示效果欠佳的问题,在多媒体教室的大屏幕上进行动态的演示,使学生能在任意角度观察到所求问题的投影变化,降低了相应知识点的学习难度,学生的学习积极性明显提高。
但多媒体毕竟只是一种辅助教学手段,要善于运用这种先进的教学手段为我所用,扬其长,避其短,如同任何事物一样,对于多媒体也要一分为二,多媒体教学也存在着不足与弊端。
7 多和学生进行交流,了解学生对知识的掌握情况分阶段进行教学
学生的基础有差别,本人在教学中一般将学生分为三个教学档次,在课堂教学中引导掌握好的同学,重点针对中等学生,鼓励和个别辅导掌握比较差的学生。这样,学生感觉都有东西可学,有问题可提,无形中也增加了学生的学习热情。以掌握好的学生为主,把学生进行合理的分组,在学生中形成
一个互帮互学,互相鼓励的学习风气。
参考文献:
[1] 夏华生.机构制图[M].北京:高等教育出版社,2005:28~30.
[2] 郝新生,靳国庆.高等教育学[M].吉林人民出版社,2003:145~146.
[3] 刘国权,赵光辉.高等教育心理学[M].吉林人民出版社, 2006:234~236.
[4] 何克抗.多媒体教育应用的重大意义及发展趋势[J].现代远距离教育,1997(1):6~8.
[5] 马银平.机械制图多媒体教学改革与实践[J].南昌航空工业学院学报,2004(2):64~66.
责任编辑:建德锋
(上接第101页)
参考文献:
写网页用什么语言[1] 高怡新.ASP网络应用程序设计[M].人民邮电出版社,2008: 26.
[2] 吴素芹.ASP动态网页制作教程[M].人民邮电出版社, 2008:41.[3] 黄 爽.ASP网络程序设计教程[M].清华大学出版社, 2007:12.
责任编辑:孙忠才
401
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论