天天看点

WML学习(2)

< DOCTYPE html PUBLIC -WCDTD XHTML StrictEN httpwwwworgTRxhtmlDTDxhtml-strictdtd>

test7.wml

---------------

<?xml version="1.0"?>

<wml>

<head>

<meta http-equiv="Cache-Control" content="max-age=0"/>

</head>

<card id="card0" ordered="false">

<p>

Please select a city...

<select title="Cities List" name="city">

<option title="Beijing" value="Beijing">

<onevent type="onpick">

<go href="#card01"/>

</onevent>Beijing</option>

<option title="Shanghai" value="Shanghai" onpick="#card01">Shanghai</option>

<option title="Hongkong" value="Hongkong" onpick="#card01">Hongkong</option>

</select>

</p>

</card>

<card id="card01">

You are Living in $(city:noesc)

</wml>

  <timer/>可以用来在用户不进行任何操作的一段时间后,自动执行一个任务,任何激活CARD页面的任务和用户操作都会启动<timer/>,而任务进行时,<timer/>就停止。每个CARD只能有一个<timer/>,一个<timer/>只能触发一个任务。语法如下:<timer name="variable" value="value"/>,其中name为可选属性,指定为一个变量名,当退出该CARD时,该变量存储此时定时器的值,当定时器超时时,手机将该变量设为0;value为必选属性,用来设置定时器的定时值,最小单位为0.1秒。

test8.wml

<card id="card1" ontimer="#card2">

<timer name="time1" value="50"/>

<p align="center">

After 5s, goto card2

<card id="card2">

<onevent type="ontimer">

<go href="#card1"/>

</onevent>

<timer name="time2" value="50"/>

Here is card2!

  再提一下,<onevent> <timer> <do>三者必须按以上顺序写。

  此外在DECK级还可以加入<template>,用来将事件捆绑在DECK级上,语法如下:

<template onenterforward="url" onenterbackward="url" ontimer="url">

<do>或者<onevent>

</template>

test9.wml

<template>

<do type="accept" label="deckPress" name="do1">

</do>

<do type="accept" label="cardPress" name="do1">

<go href="#card02"/>

Press ACCEPT...

Here is card01

<card id="card02">

Here is card02

WML学习(七)

--------------------------------------------------------------------------------

 CGI编程

  1)在WEB服务器上添加WML的MIME类型

   对于IIS4,可在其管理器里的站点属性中加入新的MIME类型,后缀.wml和 MIME类型text/vnd.wap.wml。

对于PWS,可修改注册表,先在 HKEY_CLASSES_ROOT层加入主键.wml,再加入串值Content Type为text/vnd.wap.wml,然后在HKEY_LOCAL_MACHINE\Software\CLASSES\MIME\Database\Content Type\中加入主键text/vnd.wap.wml,再加入串值Extension为.wml。

以前提到的HDML也用类似的方法。

  2)以http方式访问wml文件

  3)CGI设计

   和普通CGI变成的方式差不多,只是返回结果时,先要输出Content-Type为text/vnd.wap.wml,然后再输出WML内容。

test10.wml

<card id="card0">

<do type="accept" label="Input Name" name="do1">

<postfield name="uid" value="123456"/>

<postfield name="uname" value="$(userName:esc)"/>

</go>

NAME:<input name="userName" title="User Name" type="text" format="*M" emptyok="false" maxlength="12"/>

test10.asp

<%

uid=Request.Form("uid")

userName=Request.Form("uname")

Response.ContentType="text/vnd.wap.wml"

%>

<card>

USERNAME:<%=userName%>

USER__ID:<%=uid%>

本文转自 netcorner 博客园博客,原文链接:http://www.cnblogs.com/netcorner/archive/2006/11/09/2912517.html  ,如需转载请自行联系原作者