社区
Web 开发
帖子详情
session在Jscrip里怎么做?
sandian
2003-08-21 02:52:50
asp页和websnap页中间需要session传递变量
可是delphi的wensnap不支持VBscript
JScript我不太会用
大家能提供个现成的关于session的例子吗?
最好详细点的~
...全文
21
3
打赏
收藏
session在Jscrip里怎么做?
asp页和websnap页中间需要session传递变量 可是delphi的wensnap不支持VBscript JScript我不太会用 大家能提供个现成的关于session的例子吗? 最好详细点的~
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
3 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
sandian
2003-08-22
打赏
举报
回复
啊~
惨...
iceyou
2003-08-21
打赏
举报
回复
no way
jscript 是客户端脚本语言,不支持session
sandian
2003-08-21
打赏
举报
回复
在JScript里有像
session.value('aa')='aaaaaaaaa'
这样的用法吗?
js,jsp,javascrip,java区别
js,jsp,javascrip,java区别
javascrip
某培训机构的教程 希望对大家有用
各种API(JDK_API_1_6_zh_CN 、spring2[1].0中文开发参考手册、struts2中文教程、Hibernate中文API、
JScrip
)
此压缩包中包含平时开发涉及的API帮助文档,比如:JDK_API_1_6_zh_CN 、spring2[1].0中文开发参考手册、struts2中文教程、Hibernate中文API、
JScrip
t API、jQuery 1.4中文手册、网页设计配色常识、CSS样式表等等
ADO/CSS/vbscript/
jscrip
t帮组手册
ADO/CSS/vbscript/
jscrip
的chm帮助手册
asp 完全教程
ASP页面内VBScript和
JScrip
t的交互
ASP 具备管理不同语言脚本程序的能力,能够自动调用合适的脚本引擎以解释脚本代码和执行内置
函数。ASP开发环境提供了两种脚本引擎,即VBScript(缺省)和
JScrip
t。不过,开发者并没有被限制
于只能使用这两种语言,只要能够提供合适的ActiveX脚本引擎就能使用任何脚本语言。
脚本语言的选择往往基于许多不同原因:它可能是开发者最为熟悉的语言,可能是对给定工程来说
能够提供最多特色支持的,也有可能是最具效率的。不同的环境和要求使得我们在选择脚本语言时注重
不同的因素,同时也使得我们在某些时候面临选定的脚本语言不能直接提供其它语言固有的函数这一问
题,或某个脚本已经写成但用的却是另外一种脚本语言。
此时应该怎么办?是否需要用当前所用的脚本语言重写这些脚本?或者说,是否有可能在一种脚本
语言中调用其它脚本语言的内置函数?本文要说明的就是在ASP应用中如何让VBScript脚本和
JScrip
t脚
本交互以最大限度地获得两种脚本语言的特色支持。
一、VBScript和
JScrip
t的内置函数
在VBScript和
JScrip
t 中,有大量的内置函数功能是相同或类似的。然而,在一种脚本语言中内置
的函数并非总是在另外一种脚本语言中也有对应的函数。例如,VBScript提供了许多用于操作字符串和
格式化数据的函数,这些函数在
JScrip
t中并不存在。这些函数包括StrReverse()、Filter()以及Forma
tCurrency()等。在另一方面,
JScrip
t所提供的用于管理数组、字符串编码等的函数在VBScript中也没
有定义,如join()、reverse()、pow()、位操作、escape()和unescape()等。
那么,如果在
JScrip
t程序中需要一个VBscript函数该怎么办呢?
二、异种脚本的互相调用
如果需要在
JScrip
t脚本中调用一个VBScript中内置的函数,则应该写一个VBScript用户定义函数
(在这
里
调用VBScript内置函数),然后在
JScrip
t脚本中象调用公用
JScrip
t函数一样调用这个用户定
义函数。
例如,如果要调用的VBSCript内置函数是FormatCurrency(),则可以声明如下自定义函数:
接下来在
JScrip
t代码中就可以象普通
JScrip
t 函数一样调用FormatValue()了。用类似的方法也可
以实现VBScript代码调用
JScrip
t函数。
应用同样的规则,我们可以在任何脚本内调用任何用户定义函数。不过,从
JScrip
t 脚本内调用一
个不带参数的VBScript过程(Sub)时应略加注意,此时在
JScrip
t中应该象调用一个不带参数的
JScrip
t函数一样调用它,如用foo()调用VBScript Sub foo过程。
三、数据共享
在某些情形下混合运用VBScript和
JScrip
t 函数是非常有用的,但在不同语言脚本之间共享数据也
可能很有用。实现这种共享的方法很简单:不管使用的是什么语言,只要是在页面级声明的变量就可以
任意引用。
对象的使用方法也相似,可以任意选用合适的语言读取、修改属性或调用对象的方法。当然给定对
象的属性和方法是由创建该对象实例的语言所定义的。正如上例VBScript的过程调用,当从
JScrip
t 中
调用一个不带参数的VBScript对象的方法时,其调用方法也遵从
JScrip
t的调用规则,反之亦然。
四、数组管理
数组共享问题稍微复杂一点。虽然数组也象其它变量一样可以在不同语言脚本之间共享,但必须注
意兼容方面的问题。
VBScript数组在
JScrip
t下可以用VBScript的符号引用,即用myArray(2)引用数组元素而不是JScri
pt的数组元素引用符号myArray[2]。此外,还可以使用一个特殊的
JScrip
t对象——VBArray对象将VBSc
ript数组转换为
JScrip
t数组。下面的代码从VBScript数组myVBArray创建
JScrip
t数组myJSArray:
var Temp = new VBArray(myVBArray)
var myJSArray
myJSArray = Temp.toArray()
上述代码首先创建一个临时的VBArray对象,然后使用它的toArray()方法将自己转换为
JScrip
t 数
组。此后就可以象普通
JScrip
t数组一样用myJSArray,如 myJSArray[1]。但应当注意的是,toArray()
方法将把一个多维的VBArray转换为一维的
JScrip
t数组。
从VBScript中引用
JScrip
t数组更为复杂。虽然在VBScript中我们可以直接访问
JScrip
t数组相关的
方法和属性,但没有直接访问
JScrip
t数组的单个元素的方法。也就是说,我们可以在VBScript 脚本中
读取
JScrip
t数组的长度属性,如下所示:
x = myJSArray.length
但无法直接读取该数组的单个元素,下面的VBScript代码是不正确的:
x = myJSArray(3)
解决该问题的一个可行的方法是执行一个转换过程,如下面的代码所示,此处假定VBScript是缺省
的脚本语言:
<%
Dim Temp
Dim myVBArray
Temp = myJSArray.join(", ")
myVBArray = Split(Temp, ", ")
%>
此处的
JScrip
t join()方法将数组myJSArray元素转换到一个以逗号为分割符的字符串, VBScript
Split()函数将字符串转换为VBScript数组。注意这
里
我们是在VBScript环境下调用
JScrip
t的join方法
依照此例,我们可以通过自定义VBScript函数来模拟
JScrip
t的VBArray对象的toArray()方法以实现JSc
ript数组到VBScript数组的转换。
五、小结
在同一个ASP 工程内灵活选用不同脚本语言具有许多优点,这些脚本之间的交互能力更为开发者集
成不同语言所提供的内置函数和其它功能带来了更多的机会,同时也使得实现既可用于VBScript也可用
于
JScrip
t环境的通用脚本库成为可能。
Web 开发
81,092
社区成员
341,716
社区内容
发帖
与我相关
我的任务
Web 开发
Java Web 开发
复制链接
扫一扫
分享
社区描述
Java Web 开发
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章