WAP(wml)开发基础教程
WML学习(三)
显示文本
在文本的显示上WML基本和HTML相同。文字段落包含在<p align= "alignment" mode=" wrapmode">和</p>之间,align属性指定该段文字的对齐方式,默认的是left,其他可选择right和center;mode属性指定当一行显示不下所有的文字时是否自动换行,默认的是自动换行wrap,如果选nowrap,则在一行中显示,浏览器会通过类似于水平滚动条的机制来显示所有文字。
换行标签也一样为<br/>,这里先替一下,在标单中如果有多个<input>或者<select>,其间不要用<br/>,否则会使手机浏览器认为是断点而把表单分页显示。
文字的修饰标签有<b>、<i>、<u>、<em>、<strong>、<big>和<small>,意义和HTML里的相同。
表格的显示标签也和HTML相近,使用<table title="name" align="left|right|center" columns="列数">、<tr>和<td>来显示,<table>的title属性用来给表格取个名字,columns属性指定表的列数,不能为0,可选的align属性和前面提到的一样是对齐方式。表格中可以包含文字和图片。
test1.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>
<p align="center">
<i>Hello</i><br/>
<b><i>World!</i></b>
<table title="mytable" align="right" columns="2">
<tr>
<td>1-1</td>
<td>1-2</td>
</tr>
<tr>
<td>2-1</td>
<td>2-2</td>
</tr>
</table>
</p>
</card>
</wml>
显示图片
显示图片(1位黑白BMP图片)的标签一样类似于HTML,<img alt="text" src="url"
localsrc="icon" align="left" height="n" width="n" vspace="n" hspace="n"/>,属
性中alt和src是必须要有的,其他可选。另外要注意的是<img>要放在<p>里,不能放在
<do>和<option>等功能健标签和选单标签里。
*alt属性用来指定当手机不支持图片显示时用来显示的文字。
*src属性指定图片的URL,但当有了以下的localsrc属性时,手机浏览器就忽略src
属性。
*localsrc属性用来指定显示存在手机ROM中的图标,如果找不到,则到UP.Link Se
rver上去找。
*可选的align属性用来表明图片同当前行文本的对齐方式,默认值为bottom,可选
to和middle。
*height、width、vspace、hspace属性分别指定图片的长宽和距环绕文字的间距,
目前不是所有的WAP手机都支持这些属性。
test2.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>
<p align="center"><img alt=":)" src="xxx.bmp" localsrc="smileyface"/></p>
</card>
</wml>
WML学习(四)
锚和任务
连接是 HTML 页面里最基本的功能, 在 WML 里也一样用 <a href="ur
l" title="label"> 和 </a>来包括用来建立连接的文字,必选属性href指定了要打开的
URL,可选的title属性给该连接取个标记名字,这个名字将作为软按钮之一的ACCEPT键
(详见以前的HDML入门文章)的标记显示在屏幕的软按钮区,所以通常可以将属性作为提
示文字是用。
然而,以上的连接在WML里只是任务的一种情况,为了能够使用其它任务,所以引进
了新的标签<anchor title="label">任务标签 文本</anchor>,<a>其实是当任务标签为
<go/>时的简单表示方式。
test3.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>
<p>
<anchor title="Link1"><go href="test1.wml"/>News</anchor><br/>
<a title="Link2" href="test2.wml">Sports</a>
</p>
</card>
</wml>
WML里的任务标签有以下几种,除了用于<anchor>,还可以用在事件中:
1)<go>用来指示浏览器显示指定的URL,包括DECK的第一个CARD或者指定的CARD。语
法如下:
<go href="url" sendreferer="false|true" method="get|post" accept-charset
="charset">
<postfield name="name" value="value"/>
<setvar name="name" value="value"/>
</go>
其中href属性为必选,其他为可选。sendreferer属性表示是否传递调用href所指定
的URL的页面的URL,也就是当前页的URL,即 HTTP 头中的HTTP_REFERER,默认值为fal
se,可选值为true。method和HTML中的表单FORM的method属性一样,指定表单是以get的
方式还是post的方式递交,以便cgi处理,默认的值为get,但如果未指定method但<go>
</go>间存在<postfield>,手机自动以post方式传递。accept-charset 属性可覆盖在H
TTP头里指定的字符集,可以写多个字符集,如accept-charset="UTF-8,US-ASCII, ISO
-8859-1"。
<postfield name="name" value="value"/>可以看作是HTML表单FORM中的<INPUT T
YPE="HIDDEN" NAME="变量名" VALUE="值">,通过它可以向指定的URL传递以“变量名/
值”形式的数据。name和value属性都是必选的。注意只有这里的变量是用来递交给CGI
程序的。
除了<postfield>,还可以在<go>和</go>间加入一句或者多句<setvar name="name
" value="value"/>,该语句的意思是,当触发某一事件时,给变量赋值。
要注意的是,当<go>和</go>之间没有任何语句时,要用<go/>的形式,这点比较特
别,比如<anchor title="Link1"><go href="test.wml"/>News</anchor>。
2)<prev>用来将当前页面的URL压入URL历史堆栈,并打开此前的URL,若该URL不存
在,则<prev>无效。语法类似<go>:<prev><setvar name="name" value="value"/></p
rev>,<prev>和</prev>之间可加入一句或多句<setvar name="name" value="value"/>
,若不加,则必须变成<prev/>的形式。
3)<refresh>用来刷新当前的页面,从而使得页面内的变量刷新,语法为<refresh>
<setvar name="name" value="value"/></refresh>。
4)<noop>,表示什么也不做,该标签不能用在<anchor>中,一般用在覆盖DECK级的
<do>(以后会说明)。
from:asp学习网/title:WAP(wml)开发基础教程/ time:2007-1-21 2:19:47
本文主题WAP(wml)开发基础教程