[Gambas-user] WebPage support in Gambas
Benoît Minisini
gambas at ...1...
Sun Mar 18 14:29:23 CET 2012
Hi,
In revision #4561, Gambas compiler now can compile WebPage.
---- What is a WebPage ?
WebPage is a new "form" type that you enable in the IDE by using the
'gb.web' component.
It generates an HTML page from an HTML template having an ASP-like syntax.
A WebPage has two parts: a "class" part (like forms) stored in a *.class
file, and an HTML template part stored in a *.webpage file. The HTML
part is edited with a standard text editor.
At the moment, the following syntaxes are implemented:
<% Code %>
This introduces Gambas code inside the HTML page. Use the
PRINT instruction to generate some HTML directly.
<%= Expression %>
This evaluates Expression and convert it to HTML with the
Html$() function.
For example:
<html>
<body>
<%Dim sEnv As String%>
<h2>Environment</h2>
<table>
<%For Each sEnv In Application.Env%>
<tr>
<td><%=sEnv%></td>
<td><%=Application.Env[sEnv]%></rd>
</tr>
<%Next%>
</table>
<%
Print "<p>"; Html("Cool isn't it?"); "</p>"
%>
</body>
</html>
---- How does it work internally?
The *.webpage file is transformed by the compiler into a Render() method
added to the *.class file. This Render() methods prints the generated
HTML to the standard output.
---- So now?
Let's talk about what kind of useful syntax could be implemented!
I think that every template syntax should be enclosed by '<%' and '%>'.
I think that some sort of include is needed. For example, something like
<%{OtherWebPage}%> will be transformed into "OtherWebPage.Render()", so
that the OtherWebPage is included into the current one.
Nothing is engraved in the marble (french expression), so please tell
what you think about that, and if you have ideas!
Regards,
--
Benoît Minisini
More information about the User
mailing list