WML - Attività
Un'attività WML è un elemento che specifica un'azione che deve essere eseguita dal browser, piuttosto che qualcosa da visualizzare. Ad esempio, l'azione di passare a una nuova scheda è rappresentata da un elemento attività <go> e l'azione di tornare alla scheda precedente visitata è rappresentata da un elemento attività <prev>. Gli elementi dell'attività racchiudono tutte le informazioni richieste per eseguire l'azione.
WML fornisce i seguenti quattro elementi per gestire quattro attività WML chiamate go task, pre task, refresh task e noop taks.
Il compito <go>:
Come suggerisce il nome, l'attività <go> rappresenta l'azione di passare a una nuova carta.
L'elemento <go> supporta i seguenti attributi:
Attributo | Valore | Descrizione |
---|---|---|
href | URL | Fornisce l'URL della nuova carta. Gli URL relativi vengono risolti in relazione alla carta corrente |
metodo |
|
Specifica il metodo da utilizzare per recuperare il mazzo. Deve essere uno dei valori get o post, corrispondente ai metodi GET e POST di HTTP. Quando si usa method="get", i dati vengono inviati come richiesta con? dati aggiunti all'URL. Il metodo ha uno svantaggio, che può essere utilizzato solo per una quantità limitata di dati, e se invii informazioni sensibili verranno visualizzate sullo schermo e salvate nei log del server web. Quindi non utilizzare questo metodo se stai inviando password ecc. Con method="post", i dati vengono inviati come richiesta con i dati inviati nel corpo della richiesta. Questo metodo non ha limiti e le informazioni sensibili non sono visibili nell'URL |
sendreferer |
|
Se impostato su true, il browser invia l'URL del mazzo corrente insieme alla richiesta. Questo URL viene inviato come URL relativo, se possibile. Lo scopo di ciò è consentire ai server di eseguire un semplice controllo degli accessi sui deck, in base a quali deck si collegano ad essi. Ad esempio, utilizzando HTTP, questo attributo viene inviato nell'intestazione Referer HTTP. |
accetta-charset | charset_list | Specifica un elenco di set di caratteri separati da virgole o spazi che possono codificare i dati inviati al server in una richiesta POST. Il valore predefinito è "sconosciuto". |
classe | dati di classe | Imposta un nome di classe per l'elemento. |
id | ID elemento | Un ID univoco per l'elemento. |
Di seguito è riportato l'esempio che mostra l'utilizzo dell'elemento <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>
Un altro esempio che mostra come caricare i dati utilizzando Get Method
<?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>
Un altro esempio che mostra come caricare i dati utilizzando l'elemento <setvar>.
<?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>
Un altro esempio che mostra come caricare i dati utilizzando l'elemento <postfiled>
<?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>
Il compito <prev>:
L'attività <prev> rappresenta l'azione di tornare alla scheda precedentemente visitata nello stack della cronologia. Quando viene eseguita questa azione, la voce in alto viene rimossa dallo stack della cronologia e quella scheda viene visualizzata di nuovo, dopo che qualsiasi assegnazione di variabile <setvar> nell'attività <prev> ha avuto effetto.
Se non esiste alcun URL precedente, specificare <prev> non ha effetto.
L'elemento <prev> supporta i seguenti attributi:
Attributo | Valore | Descrizione |
---|---|---|
classe | dati di classe | Imposta un nome di classe per l'elemento. |
id | ID elemento | Un ID univoco per l'elemento. |
Di seguito è riportato l'esempio che mostra l'utilizzo dell'elemento <prev>.
<?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>
Una situazione in cui può essere utile includere variabili in un'attività <prev> è una pagina di accesso, che richiede un nome utente e una password. In alcune situazioni, potresti voler cancellare il campo della password quando torni alla scheda di accesso, costringendo l'utente a reinserirla. Questo può essere fatto con un costrutto come:
<?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>
L'attività <refresh>:
L'attività <refresh> è l'attività più semplice che fa effettivamente qualcosa. Il suo effetto è semplicemente quello di eseguire le assegnazioni delle variabili specificate dai suoi elementi <setvar>, quindi visualizzare nuovamente la scheda corrente con i nuovi valori. Le attività <go> e <prev> eseguono la stessa azione appena prima di visualizzare la nuova carta.
L'attività <refresh> viene spesso utilizzata per eseguire una sorta di azione di "ripristino" sulla scheda.
L'elemento <refresh> supporta i seguenti attributi:
Attributo | Valore | Descrizione |
---|---|---|
classe | dati di classe | Imposta un nome di classe per l'elemento. |
id | ID elemento | Un ID univoco per l'elemento. |
Di seguito è riportato l'esempio che mostra l'utilizzo dell'elemento <refresh>.
<?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>
Il compito <noop>:
Lo scopo dell'attività <noop> è non fare nulla (nessuna operazione).
L'unico vero utilizzo di questa attività è in relazione ai modelli
L'elemento <noop> supporta i seguenti attributi:
Attributo | Valore | Descrizione |
---|---|---|
classe | dati di classe | Imposta un nome di classe per l'elemento. |
id | ID elemento | Un ID univoco per l'elemento. |
Di seguito è riportato l'esempio che mostra l'utilizzo dell'elemento <noop>.
<?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>