helyoWAP |
|
PÁGINAS
WML GERADAS DINAMICAMENTE EM AMBIENTE ASP |
Autores: Helio Fonseca Rosa e Andrea de Mello Rosa
Esta página contém 5 figuras grandes. Aguarde a carga se a conexão estiver lenta.
Enviando dados de um dispositivo WAP para uma página ASP
Inicialmente, vamos recordar como
um usuário entra com um dado em seu dispositivo WAP (celular ou simulador).
A tag <input> da linguagem WML proporciona esta facilidade.
A listagem abaixo é um deck com dois cards. O primeiro card, identificado
com o nome de "entra_senha", realiza as seguintes ações:
1. exibe uma mensagem para o usuário solicitando a senha, que deve ser digitada
no local indicado pelo cursor; esta senha é armazenada na variável chamada
"senha";
2. ao término da digitação o usuário pressiona a tecla "Accept"
(cujo label por omissão é "OK") e ocorre o desvio ( proporcionado
pelas tags associadas do e go) para o card identificado com o nome
de "exibir" ;
Este card proporciona a seguinte ação: exibe na tela o conteúdo da variável
"senha" (notar que o nome da variável é "senha" mas
seu conteúdo é indicado por "$senha".
Este é um programa WML e deve ser salvo com extensão .wml, opção somente texto.
<?xml version="1.0"?>
<!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN"
" http://www.wapforum.org/DTD/wml_1.1.xml">
<wml>
<card id="entra_senha">
<do type="accept">
<go href="#exibir"/>
</do>
<p>
*****HELYOWAP*****<br/>
Digite sua senha: <br/>
<input name="senha" />
</p>
</card>
<card id="exibir">
<p>
Confirmando: voce digitou
$senha
</p>
</card>
</wml>
Eis a tela após a digitação da senha "wapwap":
Pressionado a tecla abaixo de "OK" obtemos:
Lembrando o objetivo do exemplo acima : recordar o processo de armazenar um dado no celular (simulador) que foi entrado via digitação no teclado do aparelho.
Vamos utilizar a tag "input" num programa modificado para estudar como este dado (senha, no caso) é enviado para uma página ASP.
Utilizaremos a tag ou
elemento "select" associada à tag "option".
"Select" possui um atributo ' multiple="false" ' que indica
que se deve escolher apenas uma opção entre as disponíveis.
"Option" possui um atributo "onpick" que especifica um
endereço de desvio se a opção for selecionada.
Este endereço tem uma construção ou sintaxe especial, pois vai
"transportar" a senha para a página ASP armazenada no servidor
PWS.
O nome de nossa página ASP que vai receber a senha (e vai dar origem à pagina
montada "on-the-fly" que será exibida na tela do simulador) é "paginapws.asp"
.
Eis o formato do endereço da mini-page ASP : http://localhost/paginapws.asp?name=$(minha_senha).
O ponto-de interrogação "?" é usado para separar o endereço da página
ASP do dado a ser enviado (no caso , a senha). O formato do envio do
dado é "name=$( )" sendo que dentro dos parênteses
deveremos colocar o nome da variável que contém o dado ( senha ).
Aqui está o programa que envia a senha (gravado como vaisenha.asp, opção "somente texto", na pasta C:/Inetpub/wwwroot):
Programa "vaisenha.asp":
<%
Response.ContentType = "text/vnd.wap.wml"
%>
<?xml version="1.0"?>
<!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN"
"http://www.wapforum.org/DTD/wml_1.1.xml">
<wml>
<card id="Inicio">
<p>
Digite sua senha:
<input title="Senha:" maxlength="6"
name="minha_senha"/><br/>
<select multiple="false">
<option title="Prosseguir"
onpick="http://localhost/paginapws.asp?name=$(minha_senha)">Prosseguir
</option>
<option title="Cancelar"
onpick="#Inicio">Cancelar
</option>
</select>
</p>
</card>
</wml>
A senha enviada ao PWS pode ser
utilizada de várias maneiras, como por exemplo, armazenada em um banco de dados
ou sofrer algum tipo de validação. No nosso caso, para efeito didático, vamos
enviá-la de volta para o dispositivo WAP (simulador). Isto será
responsabilidade do script "Request.QueryString("name"). Eis a
listagem auto-explicativa:
Programa wasp09:
<%
Response.ContentType = "text/vnd.wap.wml"
%>
<?xml version="1.0"?>
<!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN"
"http://www.wapforum.org/DTD/wml_1.1.xml">
<wml>
<card id="Confirma">
<p>
*****HELYOWAP*****<br/><br/>
A senha digitada foi:<br/><%= Request.QueryString("name")
%>
</p>
</card>
</wml>
Vamos então observar a execução, digitando no campo de endereço do simulador o caminho para o arquivo do programa que permite a entrada da senha pelo celular (simulador).
Neste exemplo digitamos a senha
"wapwap" usando o teclado do micro; ela é exibida a partir do
ponto em que está o cursor.
Terminada a digitação, pressionamos a tecla que está sob o label "OK"
e surge a tela:
Optamos por prosseguir, pressionando a tecla sob o label "prosseguir". Sem necessidade de digitar novo endereço no simulador, é mostrada a tela abaixo, que foi montada dinamicamente com a senha enviada inicialmente do simulador para o servidor PWS.