服务端 VBScript 与 JScript 几个相同特性的写法与示例

  By shawl.qiu

  摘要:

  本文演示了ASP服务端脚本的几个重要应用.

  目录:

  1. 遍历集合/对象

  1.1 VBScript 遍历表单集合

  1.2 JScript 遍历表单集合

  2. 转变量值为变量, 并赋值

  2.1 VBScript 转变量值为变量并赋值

  2.2 JScript 转变量值为变量并赋值

  3. 动态包含文件

  3.1 VBScript 动态包含文件

  3.2 JScript 动态包含文件

  shawl.qiu

  2006-10-11

  http://blog.csdn.net/btbtd

  1. 遍历集合/对象

  1.1 VBScript 遍历表单集合

  linenum

  <%

  for each temp in request.Form

  response.write temp&": "&request.form(temp)

  next

  %>

  1.2 JScript 遍历表单集合

  linenum

  <%

  for (var $e=new Enumerator(Request.Form); !$e.atEnd(); $e.moveNext()){

  Response.Write($e.item()+':<br/> '+Request.Form($e.item()));

  }

  %>

  2. 转变量值为变量, 并赋值

  2.1 VBScript 转变量值为变量并赋值

  linenum

  <%

  for each temp in request.Form

  execute temp&"=request.form(temp)"

  next

  %>

  2.2 JScript 转变量值为变量并赋值

  linenum

  <%

  var $xml=new ActiveXObject("microsoft.xmldom");

  $xml.load(Server.MapPath('config.xml'));

  var $childNodes=$xml.documentElement.selectSingleNode('//siteconfig').childNodes

  for ($e=new Enumerator($childNodes); !$e.atEnd(); $e.moveNext()){

  eval($e.item().nodeName+"=$e.item().text");

  }

  $xml=null;

  Response.Write(sitekeywords);

  %>

  3. 动态包含文件

  3.1 VBScript 动态包含文件

  linenum

  <%

  function fInclude(filepath)

  ' sample call '''/// execute fInclude("include/system/language/"&sitefglang&"/main.asp") \\\'''

  dim cnt

  cnt=CreateObject("scripting.fileSystemObject").openTextFile(server.MapPath(filepath)).readall

  cnt=replace(cnt,"<"&chr(37),"")

  cnt=replace(cnt,chr(37)&">","")

  fInclude=cnt

  end function 'shawl.qiu code'

  execute fInclude("include/system/language/"&sitefglang&"/main.asp")

  %>

  3.2 JScript 动态包含文件

  linenum

  <%

  eval($dynInc('aj2.asp'));

  Response.Write($test);

  function $dynInc($fl){

  /* ------------------------------------\

  * 服务端 JScript 动态包含文件 By shawl.qiu

  * sample call: eval($dynInc('aj2.asp'));

  \*------------------------------------*/

  var $fso=new ActiveXObject("scripting.fileSystemObject");

  $str=$fso.OpenTextFile(Server.MapPath($fl)).ReadAll();

  $str=$str.replace(/\<\%|\%\>/g,'');

  $fso=null;

  return $str;

  }

  %>