Active Server Pages中使用JScript

在本节中,你将学习怎样建立可执行用JScript建立的脚本的Active Server Pages,你将在本书的第四部分“用对象和组件建立Active Server Pages”中学习更多关于Active Server Pages的知识。但是现在你只需将Active Server Pages看作一个具有扩展名为 .asp而不是 .cfm的HTML文件。

要使用本章中的例子,你需要用扩展名 .asp而不是 .cfm来存贮你的所有文件,如果你不这样做,脚本就不能被解释。当Active Server Pages被浏览器读入时,脚本中的文本就会显示出来,这可能就不是你所期望的了。

要使用本章中的例子,你还必须将文件存贮在你的网络服务器的目录下,例如,你可将文件存贮在wwwroot目录下。要执行脚本,网页必须位于能被你的网络服务器进入的目录下。

当你读入一个Active Server Pages时,你不能直接从硬盘上读入这个文件,例如,如果你将一个Active Server Pages存为C:\InetPub\wwwroot\mypage.asp,你不能通过在地址框中输入文件路径来将这个文件读入浏览器。你应当使用网络服务器名来获得这个文件。例如,如果你的服务器名为MyServer而文件被存贮在服务器的根目录下,就可以在浏览器的地址柜中输入 http://MyServer/mypage.asp。再一次说明,如果你不这样做,Active Server Pages中的脚本就不会被解释。

你必须设置你的Active Server Pages所在的目录允许脚本的执行,只须当你进行这样的设置后,网络服务器才会执行一个脚本。详细信息可见第二章“安装及使用Internet Information Server”。

注意

当你改变了Active Server Pages后你可能会发现变化没有立即在读入浏览器的网页上反映出来,这可能是由于网络服务器使用内存缓冲来提高性能而引起的。当建立一个网点时,你可以取消这个特性,详细信息可见第二章。

Active Server Pages中集成JScript

JScript 不是ASP的缺省脚本语言,缺省情况下,当ASP中包含一个脚本时,服务器会将它解释为VBScript编写的脚本,当你在ASP 中使用JScript编写的脚本前,你应该通知服务器你用的语言种类。

如果你计划将JScript 作为你主选的脚本语言,你可以用Internet Service Manager(见第13章)来设置JScript 为你网络上所有ASP的缺省语言。除此之外,你也可以为某一特定的页指定JScript 为缺省的脚本语言,要实现这一目的,你可将下述语句放置于一个ASP文件的第一行:

<%@ LANGUAGE=JScript %>

这一语句表明了本文件中所有的脚本都应当以JScript 来执行而不是VBScript。当使用这个语句时,要注意在@符号和关健字LANGUAGE之间要有一个空格。在一次申明,一定要将这个语句放置于你的ASP文件的首行。

注意

你可以在同一个A.S.P中混合使用JScript 和VBScript,详细信息可见第13章。

在ASP中包括了LANGUAGE语句后,你就可以使用两个特殊符号<%和%>来用JScript 创建脚本,例如,下面用JScript 创建的脚本会在一个ASP中自动执行.

<%@ LANGUAGE=JScript %>

<HTML>

<HEAD>

<TITLE> Simple JScript </TITLE>

</HEAD>

<BODY>

<% for (myvar=0; myvar<500; myvar++) %>

<B> Hello World! </B>

</BODY>

</HTML>

这个脚本在一行上显示500个Hello World!(见图9.1),注意此例中符号<%和%>是如何使用的,它们标明了JScript脚本的开始和结束。

图9.1 使用JScript建立的Active Server Pages

注意

与本书中描述的其他语言不同,JScript是区分大小写的,例如,使用下面的语句将会导致错误。

<% For (myvar=0; myvar<500; myvar++) %>

这个语句的错误就在于关键字(for)需要小写,这样JScript才能识别它。

<%和%>这两个字符的功能很象HTML中的<和>字符,<和>字符是用来指定HTML标识符的,而<%和%>是用来指明脚本的。网络服务器一旦搜索到这两个字符,就将它们之间的文本解释为脚本。

例如,文本<% for(myvar=0; myvar<500; myvar++)%>是一个JScript脚本,它建立了一个运行500次的循环。紧接着这个语句的Hello World!文本就显示了500次。

还要注意在此例中JScript脚本是如何与HTML识别符结合的。你可以在一个ASP中自由地混用脚本和HTML。文本<B>Hello World!</B>并不是JScript脚本的一部分。<B>标识符是HTML的一部分,而不是JScript,但是文本<B>Hello World! </B>被解释和显示了500次。因为它紧跟在一个JScript脚本的后面。

当在ASP中使用JScript脚本时,你应当注意一个附加的表达式,你可以使用<%=和%>来打印一个变量、方法或是函数的值,来看下面这个简单的ASP:

<%@ LANGUAGE=JScript %>

<HTML>

<HEAD>

<TITLE> Simple JScript </TITLE>

</HEAD>

<BODY>

<% myvar=“Hello World!”%>

<%=myvar%>

</BODY>

</HTML>

这个例子只打印一次Hello World!第一个脚本设置名为myvar的变量的值为“Hello World!”表达式<%=myvar%>打印这个变量的值。符号对<%和%>用来指定一个脚本,而<%=和%>用来指明一个变量、方法或函数的值。任何出现在<%=之后的表达式都在浏览器窗口中显示出来。

下面是一个如何使用符号对<%=和%>来打印一个方法返回值的例子,这个ASP用黑体来打印文本Hello World!

<%@ LANGUAGE=JScript %>

<HTML>

<HEAD>

<TITLE> Simple JScript </TITLE>

</HEAD>

<BODY>

<% myvar=“Hello World!”%>

<%=myvar.bold()%>

</BODY>

</HTML>

方法bold() 以黑体返回变量myvar的值,此方法通过在文本周围加上HTML标识符<B>和</B>来实现这一点。文本<B>Hello World!</B>被输往浏览器。

你不能在<%=和%>符号对中放置一个不返回值的JScript命令,这会产生一个错误。例如下面所示:

<%= for (myvar=0; myvar<500; myvar++) %>

不要将<%和%>符号对的功能与<%=和%>搞混。前者是用来指定脚本的,而后者是用来显示一个变量、方法或函数的值的。