WML - Aufgaben
Eine WML-Aufgabe ist ein Element, das eine Aktion angibt, die vom Browser ausgeführt werden soll, anstatt etwas anzuzeigen. Beispielsweise wird die Aktion zum Wechseln zu einer neuen Karte durch ein <go> -Aufgabenelement dargestellt, und die Aktion zum Zurückkehren zur zuvor besuchten Karte wird durch ein <prev> -Aufgabenelement dargestellt. Aufgabenelemente kapseln alle Informationen, die zum Ausführen der Aktion erforderlich sind.
WML bietet die folgenden vier Elemente für vier WML-Aufgaben: Go-Task, Pre-Task, Refresh-Task und Noop-Takes.
Die <go> Aufgabe:
Wie der Name schon sagt, repräsentiert die Aufgabe <go> die Aktion, zu einer neuen Karte zu wechseln.
Das <go> -Element unterstützt die folgenden Attribute:
Attribut | Wert | Beschreibung |
---|---|---|
href | URL | Gibt die URL der neuen Karte an. Relative URLs werden relativ zur aktuellen Karte aufgelöst |
Methode |
|
Gibt die Methode an, mit der das Deck abgerufen werden soll. Dies muss einer der Werte get oder post sein, die den GET- und POST-Methoden von HTTP entsprechen. Beim Benutzen method="get"werden die Daten als Anfrage mit gesendet? Daten an die URL angehängt. Die Methode hat den Nachteil, dass sie nur für eine begrenzte Datenmenge verwendet werden kann. Wenn Sie vertrauliche Informationen senden, werden diese auf dem Bildschirm angezeigt und in den Protokollen des Webservers gespeichert. Verwenden Sie diese Methode also nicht, wenn Sie ein Passwort usw. senden. Mit method="post"werden die Daten als Anfrage mit den Daten gesendet, die im Hauptteil der Anfrage gesendet werden. Diese Methode ist unbegrenzt und vertrauliche Informationen sind in der URL nicht sichtbar |
sendreferer |
|
Wenn true festgelegt ist, sendet der Browser die URL des aktuellen Decks zusammen mit der Anforderung. Diese URL wird nach Möglichkeit als relative URL gesendet. Damit sollen Server eine einfache Zugriffskontrolle für Decks durchführen können, basierend darauf, welche Decks mit ihnen verbunden sind. Bei Verwendung von HTTP wird dieses Attribut beispielsweise im HTTP-Referer-Header gesendet. |
Accept-Zeichensatz | charset_list | Gibt eine durch Kommas oder Leerzeichen getrennte Liste von Zeichensätzen an, die Daten codieren können, die in einer POST-Anforderung an den Server gesendet werden. Der Standardwert ist "unbekannt". |
Klasse | Klassendaten | Legt einen Klassennamen für das Element fest. |
Ich würde | Element-ID | Eine eindeutige ID für das Element. |
Das folgende Beispiel zeigt die Verwendung des Elements <go>.
<?xml version="1.0"?>
<!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.2//EN"
"http://www.wapforum.org/DTD/wml12.dtd">
<wml>
<card title="GO Element">
<p>
<anchor>
Chapter 2 : <go href="chapter2.wml"/>
</anchor>
</p>
</card>
</wml>
Ein weiteres Beispiel zeigt, wie Daten mit der Get-Methode hochgeladen werden
<?xml version="1.0"?>
<!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.2//EN"
"http://www.wapforum.org/DTD/wml12.dtd">
<wml>
<card title="GO Element">
<p>
<anchor>
Using Get Method
<go href="chapter2.wml?x=17&y=42" method="get"/>
</anchor>
</p>
</card>
</wml>
Ein weiteres Beispiel zeigt, wie Daten mit dem <setvar> -Element hochgeladen werden.
<?xml version="1.0"?>
<!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.2//EN"
"http://www.wapforum.org/DTD/wml12.dtd">
<wml>
<card title="GO Element">
<p>
<anchor>
Using setvar:
<go href="chapter2.wml">
<setvar name="x" value="17"/>
<setvar name="y" value="42"/>
</go>
</anchor>
</p>
</card>
</wml>
Ein weiteres Beispiel zeigt, wie Daten mit dem Element <postfiled> hochgeladen werden
<?xml version="1.0"?>
<!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.2//EN"
"http://www.wapforum.org/DTD/wml12.dtd">
<wml>
<card title="GO Element">
<p>
<anchor>
Using setvar:
<go href="chapter2.wml" method="get">
<postfield name="x" value="17"/>
<postfield name="y" value="42"/>
</go>
</anchor>
</p>
</card>
</wml>
Die <prev> Aufgabe:
Die Aufgabe <prev> repräsentiert die Aktion der Rückkehr zur zuvor besuchten Karte im Verlaufsstapel. Wenn diese Aktion ausgeführt wird, wird der oberste Eintrag aus dem Verlaufsstapel entfernt und diese Karte erneut angezeigt, nachdem alle <setvar> -Variablenzuweisungen in der <prev> -Aufgabe wirksam geworden sind.
Wenn keine vorherige URL vorhanden ist, hat die Angabe von <prev> keine Auswirkung.
Das <prev> -Element unterstützt die folgenden Attribute:
Attribut | Wert | Beschreibung |
---|---|---|
Klasse | Klassendaten | Legt einen Klassennamen für das Element fest. |
Ich würde | Element-ID | Eine eindeutige ID für das Element. |
Das folgende Beispiel zeigt die Verwendung des <prev> -Elements.
<?xml version="1.0"?>
<!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.2//EN"
"http://www.wapforum.org/DTD/wml12.dtd">
<wml>
<card title="Prev Element">
<p>
<anchor>
Previous Page :<prev/>
</anchor>
</p>
</card>
</wml>
Eine Situation, in der es nützlich sein kann, Variablen in eine <prev> -Aufgabe aufzunehmen, ist eine Anmeldeseite, auf der Sie nach einem Benutzernamen und einem Kennwort gefragt werden. In einigen Situationen möchten Sie möglicherweise das Kennwortfeld löschen, wenn Sie zur Anmeldekarte zurückkehren, und den Benutzer dazu zwingen, diese erneut einzugeben. Dies kann mit einem Konstrukt wie dem folgenden erfolgen:
<?xml version="1.0"?>
<!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.2//EN"
"http://www.wapforum.org/DTD/wml12.dtd">
<wml>
<card title="Prev Element">
<p>
<anchor>
<prev>
<setvar name="password" value=""/>
</prev>
</anchor>
</p>
</card>
</wml>
Die <Auffrischen> -Aufgabe:
Die <fresh> -Aufgabe ist die einfachste Aufgabe, die tatsächlich etwas tut. Der Effekt besteht einfach darin, die durch die <setvar> -Elemente angegebenen Variablenzuweisungen auszuführen und dann die aktuelle Karte mit den neuen Werten erneut anzuzeigen. Die Aufgaben <go> und <prev> führen dieselbe Aktion aus, bevor die neue Karte angezeigt wird.
Die Aufgabe <Auffrischen> wird am häufigsten verwendet, um eine Art "Zurücksetzen" auf der Karte auszuführen.
Das <refresh> -Element unterstützt die folgenden Attribute:
Attribut | Wert | Beschreibung |
---|---|---|
Klasse | Klassendaten | Legt einen Klassennamen für das Element fest. |
Ich würde | Element-ID | Eine eindeutige ID für das Element. |
Das folgende Beispiel zeigt die Verwendung des <refresh> -Elements.
<?xml version="1.0"?>
<!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.2//EN"
"http://www.wapforum.org/DTD/wml12.dtd">
<wml>
<card title="Referesh Element">
<p>
<anchor>
Refresh this page:
<go href="test.wml"/>
<refresh>
<setvar name="x" value="100"/>
</refresh>
</anchor>
</p>
</card>
</wml>
Die <noop> Aufgabe:
Der Zweck der <noop> -Aufgabe besteht darin, nichts zu tun (keine Operation).
Die einzige wirkliche Verwendung für diese Aufgabe ist in Verbindung mit Vorlagen
Das <noop> -Element unterstützt die folgenden Attribute:
Attribut | Wert | Beschreibung |
---|---|---|
Klasse | Klassendaten | Legt einen Klassennamen für das Element fest. |
Ich würde | Element-ID | Eine eindeutige ID für das Element. |
Das folgende Beispiel zeigt die Verwendung des <noop> -Elements.
<?xml version="1.0"?>
<!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.2//EN"
"http://www.wapforum.org/DTD/wml12.dtd">
<wml>
<card title="Noop Element">
<p>
<do type="prev" label="Back">
<noop/>
</do>
</p>
</card>
</wml>