Gambas Server Pages
In Gambas, you have some sort of
scripter hack that allows you to write ASP-like files that I named "
server pages".
Put that in a text file, make it executable, and run it.
#!/usr/bin/env gbw3
<%
DIM sEnv AS String
%>
<!-- Variable declaration must come before any HTML -->
<html>
<h2>CGI script environmental variables</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] %> </td>
</tr>
<% NEXT %>
</table>
</html>
As you can see, the server page is a script, but the script executable
is 'gbw3', not 'gbs3'.
'gbw3' is actually a symbolic link to 'gbs3'. When 'gbs3' detects than it is
run from the 'gbw3' symbolic link, it knows that it will have to process a
server page and not a script. Then 'gbs3' will transform the server page
into...a normal script, and will execute it.
Except the initial line with the '
#!/usr/bin/env gbw3
' magic, the syntax is
very similar to ASP pages.
-
<% XXX %>
introduces any Gambas code.
-
<%= XXX %>
evaluates a Gambas expression, translates it into HTML, and inserts the html inline.
Note that the
gb.web component is used by default. So you can use the
Session
object, the
Response object, the
Request object, and so on.
These Gambas server pages are
CGI scripts, and must be managed as any other
script in your preferred web server.
This feature is experimental. Please report any problem you could have with it!
Using extra components
To use other components, server pages implement a special instruction named
USE
:
USE "_component name_"
That instruction loads a component as when it is checked in the component tab of the project properties dialog in the IDE.
Note that the component name must be specified as a string, i.e. between quotes.
See Also