Das Kapitel greift grundlegende Theorien aus dem Kapitel '24.6.10 Entwicklung von Web-Applikationen mit Gambas' auf und ergänzt sie durch die Beschreibung von mehreren Web-Projekten auf der Basis der Klasse Webpage.
Die Klasse Webpage implementiert u.a. eine HTML-Seite. Eine Webpage besteht stets aus zwei Teilen:
Die Klasse verfügt u.a. über die statische Methode Main(). Diese Methode ermöglicht es Ihnen, eine beliebige Webseite als Start-Klasse zu verwenden. Die Main()-Methode übernimmt mit der Render()-Methode die Ausgabe des kompletten HTML der generierten Webseite.
Der Einsatz der Komponente gb.web macht nur dann wirklich Sinn, wenn auf dem Internet-Webserver
so dass Sie dort Ihre Webseiten auf der Basis der Klasse Webpage ausführen können!
Den meisten Anwendern bleiben daher nur zwei Möglichkeiten, die entwickelten Web-Anwendungen zu testen:
Das Intranet des Autors besteht aus drei Computern (Desktop-PC A und zwei Laptops B und C). Alle Computer besitzen trotz DHCP feste IP-Adressen. Sowohl auf dem PC A als auch auf dem PC B ist jeweils ein Webserver Lighttpd installiert. Der Webserver auf PC B fungiert als Webserver für das Intranet.
Der Einsatz der Programmiersprache Gambas und der Skriptsprache JavaScript ermöglicht es Ihnen, Inhalte dynamisch in eine Webpage einzufügen oder zu ändern und nutzt dafür eine spezielle Syntax. Das Design einer Webseite können Sie mit CSS in vielfältiger Weise gestalten, die Sie hier sehen:
Abbildung 24.6.2.0.1: Ausgabe eines SQLite-Datenbank-Reports in einer Webseite
Das Einfügen eines SQLite-Datenbank-Reports in die Webpage 'IncDBReport.webpage' erfolgt zum Beispiel mit einer Gambas-Funktion, die in der Gambas-Klasse 'DBReport.class' definiert wird.
Über ein JavaScript-Skript wird ein Timer realisiert, mit dem die aktuelle Zeit in der Fußzeile aller Webseiten periodisch angezeigt wird:
Abbildung 24.6.2.0.2: Anzeige der aktuellen Zeit (Footer) mit einem JavaScript-Timer
Die Webseiten werden vom Webserver auf dem Computer B ausgeliefert und auf dem Computer A im Webbrowser angezeigt.
Die Klasse Webpage besitzt nur zwei Eigenschaften:
Die Klasse Webpage verfügt neben der o.a. statischen Methode Main() über zwei weitere Methoden:
Der Gambas-Compiler generiert mit der Render()-Methode HTML-Quelltext aus einer Webpage-Datei wp_name.webpage und aus der mit ihr verknüpften Klasse wp_name.class.
Die Klasse Webpage verwendet eine spezielle Syntax – die an ASP (Active Server Pages) angelehnt ist – um Gambas-Quelltext in eine Webpage *.webpage einzufügen.
Syntax | Beschreibung |
---|---|
<%Quelltext%> | Jeder Gambas-Quelltext wird 'so wie er ist' ausgeführt. |
<%=Expression%> | Zuweisung eines Gambas-Ausdrucks, der mit der Html$-Funktion konvertiert wird. |
<%–Comment–%> | Ein Webpage-Kommentar wird vollständig ignoriert, während ein HTML-Kommentar wie '<!– HTML-COMMENT –>' im HTML ausgegeben wird. |
<%/%> | Eine Abkürzung für <%=Application.Root%>. |
«Webpage» | Fügt den Inhalt einer anderen Webseite in die aktuelle Webseite ein. |
«Webpage arg1=„value1“ arg2=„value2“ … » | Fügt den Inhalt einer anderen Webseite mit (optionalen) Attributen in die aktuelle Webseite ein. Beispiel: «AstroWebpage name=„sterne“ anzahl=„7“» |
<%!arg_name%> | Liefert den Wert des Attributs ´arg_name.´ |
«–CONTENTS–» | Kennzeichnet die Grenze zwischen der Kopf- und der Fußzeile innerhalb der eingebundenen Webpage. |
«/Webpage» | Einfügen des Footers einer eingefügten Webseite. Die Angabe ist optional, wenn der Footer leer ist. |
Tabelle 24.6.2.0.1 : Webpage-Syntax
Artikel