Gambas服务器页面

从Gambas 2.9开始,有一些方式借用脚本解释器来允许你编写我称之为“服务器页面”的类ASP文件。

将下面的内容放入一个文本文件,设置文件属性为可执行并运行它。

#!/usr/bin/env gbw2
<%
DIM sEnv AS String
%>

<!-- 变量声明必须出现在任何HTML之前 -->

<html>

<h2>CGI 脚本环境变量</h2>

<table border="1" cellspacing="0" cellpadding="2">

  <tr>
    <th align="left">Name</th>
    <th align="left">Value</th>
  </tr>

<% FOR EACH sEnv IN Application.Env %>
  <tr valign="top">
    <td><%= sEnv %></td>
    <td><%= Application.Env[sEnv] %>&nbsp;</td>
  </tr>
<% NEXT %>

</table>

</html>

就像你所看到的,服务页面是一个脚本,但是执行脚本的是'gbw2',而非'gbs2'。

'gbw2'实际上是'gbs2'的一个符号链接。当'gbs2'检测到自己是从符号链接'gbw2'运行的,它就知道将执行一个服务器页面而不是一个脚本。然后'gbs2'将转换服务器页面为...一个正常的脚本,并会执行它。

除了使用'#!/usr/bin/env gbw2'固定内容的初始化行之外,语法非常类似于ASP页面。

  • <% XXX %> 引入任何Gambas代码。

  • <%= XXX %> 评估一个Gambas表达式,翻译成HTML,并插入在html内部。

注意,缺省使用gb.web 组件。所以可以用Session 对象、Response对象、Request对象、诸如此类。

这些Gambas服务器页面是CGI脚本,并且在你的首选WEB服务器上必须被像任何其他脚本一样来管理。

这个特性正在试用。请报告任何你使用中的问题!