WML开发详细指南

深入探索WML编程:从基础到应用 本文还有配套的精品资源,点击获取 简介:WML是为无线设备设计的标记语言,主要用于早期移动互联网时代。本教程详细介绍WML的基础语法、导航与交互方法、WMLWAP的关系、WML的局限性以及其在实践中的应用。通过学习WML,不仅可以了解移动设备Web开发的历史,而且有助于理解现代移动应用的演变。 1. WML编程基础和定义 WML(Wireless Mark... 阅读详情
  WAP开发入门--搭建开发环境讲述了如何搭建WAP应用程序的开发环境,本章将主要介绍WML的相关知识,如何开发WAP应用程序。

    WML是一种基于XML的标记语言,她的官方说明和规范是由WAP论坛维护的。WML的文档类型定义是xml文件类型的,http://www.wapforum.org/DTD/wml_1.1.xml。和HTML语言一样,WML是为了显示数据的,而XML的目的则是描述数据,我们定义了一系列的标记并组织成为语法规范把它称为DTD(Document Type Definition)。支持WAP的手机里面都安装了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></wml>标记了,我们所有的数据都是嵌套在这两个标记里面的。WML的标记非常少,基本可以分为两种一种称为Deck/Card一种称为Event。在这里不能一一讲述,在我们开发WML应用的时候参考手册就可以了,我给大家提供一个在线的参考:Online WML Tag Reference。在<wml></wml>标记内的内容我们把它称为deck,每个屏幕的内容我们把它定义为card,由于WML是为无线网络传输定义的,充分考虑到带宽的限制,我们允许在一个deck内包含多个card并可以一起下载到用户代理中,这样我们就可以在本地进行不同屏幕的切换了,避免每次都去联网。当然这也给客户端增加了负担,因此我们要避免在deck内包含过多的card。

    下面我们编写一个WML的例子test.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="Login" title="Login">
  <do type="accept" label="Password">
   <go href="#Password"/>
  </do>
  <p>
  UserName:
  <select name="name" title="Name:">
   <option value="John Doe">John Doe</option>
   <option value="Paul Smith">Paul Smith</option>
   <option value="Joe Dean">Joe Dean</option>
   <option value="Bill Todd">Bill Todd</option>
  </select>
  </p>
 </card>

 <card id="Password" title="Password:">
  <do type="accept" label="Results">
   <go href="#Results"/>
  </do>
  <p>
  Password: <input type="text" name="password"/>
  </p>
 </card>

 <card id="Results" title="Results:">
 <p>
 You entered:<br/>
 Name: $(name)<br/>
Password: $(password)<br/>
 </p>
 </card>
</wml>
在这个deck中包含了三个card,可以一并下载到客户端,通过按键操作我们就可以在不同的card之间进行切换,你可以在手机或者winwap模拟器中看看运行的效果。下面是winwap下的运行截图。

    虽然我们已经可以开发wml的应用了,但是这些毕竟都是些静态的内容。如果我们要开发和服务器交互的功能呢?答案当然是我们可以使用Servlet技术。看下面的例子:
<?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="Order" title="Query Inventory">
  <p>
  <select name="Items" title="Items">
   <option value="Books">Books</option>
   <option value="Music">Music</option>
   <option value="Video">Video</option>
   <option value="Software">Software</option>
  </select>
  </p>
  <do type="accept" label="Query">
   <go href="http://222.28.218.222:8088/wap/wapservlet" method="get">
    <postfield name="Items" value="$(Items)"/>
   </go>
  </do>
 </card>
</wml>
用户可以从列表中选择Item,通过无线网络传输给服务器后Servlet通过request.getParameter()方法得到用户的选择并发送给用户,servlet的代码如下:

package com.j2medev.mingjava;

import java.io.IOException;
import java.io.PrintWriter;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;


public class WapServlet extends HttpServlet
{

    protected void doGet(HttpServletRequest request,
            HttpServletResponse response) throws ServletException, IOException
    {
        String select = request.getParameter("Items");
        response.setContentType("text/vnd.wap.wml");
        PrintWriter out = response.getWriter();
        out.println("<?xml version=/"1.0/"?>");
        out.println("<!DOCTYPE wml PUBLIC/"-//WAPFORUM//DTD WML 1.1//EN/"");
        out.println("/"http://www.wapforum.org/DTD/wml_1.1.xml/">");
        out.println("<wml>");
        out.println("<card title=/"test/">");
        out.println(" <p align=/"center/">");
        out.println("you selected "+select);
        out.println("</p>");
        out.println("</card>");
        out.println("</wml>");

    }

    protected void doPost(HttpServletRequest request,
            HttpServletResponse response) throws ServletException, IOException
    {
        doGet(request,response);
    }
}
正确部署Servlet和wml文件后,在winwap下输入http://222.28.218.222:8088/test2.wml 确认后就可以看到you selected xxxx的内容了。

WinWAP for Windows 4.0:深入探索经典WAP浏览器 WAP(Wireless Application Protocol)无线应用协议,是为移动设备提供互联网访问的一系列开放标准。通过它,用户能够获取类似于桌面浏览器的网络体验,而WAP使这种体验适应于无线网络及设备的特点,如屏幕大小、带宽限制等。 阅读详情

相关推荐

HTML到WML格式转换

一个可以将HTML格式的网页转换为WML网页格式的小软件,呵呵,很好用,很实在!

wml简介(入门知识)

WML是什么--IT术语 无限标记语言WML(Wireless Markup Language)是一种基于扩展标记语言XML(Extension Markup Language)的语言,是XML的子集。它可以显示各种文字、图像等数据,是由WAP论坛(http://www.wapforum.org/)提出并专为无线设备用户提供交互界面而设计的,目前版本为1.1版。这些无线设备包括移动电话,呼机和个人

zhuanzhuanhaha的专栏 954

什么是 WML

WML(Wireless Markup Language - 无线标记语言)。它是一种从 HTML 继承而来的标记语言,但是 WML 基于 XML,因此它较 HTML 更严格。   WML 被用来创建可显示在 WAP 浏览器中的页面。用WML编写的页面被称为 DECKS。DECKS 是作为一套 CARDS 被构造的。   这种

WAP网站开发二-WML语言基础(转)

http://bbs.lz8.net/dispbbs.asp?boardID=66&ID=4480&page=1完成WAP服务器的建立和WAP浏览器的安装之后,我们接下来就可以使用WML语言来编写WAP网页或应用,并通过WAP服务器及浏览器进行调试。从本章开始我们将系统地学习WML语言,本章主要讲解WML语言的基础知识,下一章全面讲解WML的语法、标签和规则。  2.1 WML的简单例子及编辑

一心两用 1327

WML教程1:从第一个实际应用全面了解WML

WML教程1:从第一个实际应用全面了解WML学习自然语言的最好方法就是溶入相应的语言环境在交流中学习,学习一种编程语言的最好方法就是看例程。为了帮助大家建立WML应用的第一印象,所以请大家先看第一个例子:"http://www.wapforum.org/DTD/wml_1.1.xml">                      Sina>http://wap.sian.com.cn/"

huabingl的专栏 1407

4.WML编程

[转_摘编]WML的元素通常有一个首标签、内容、其它元素及一个尾标签组成。也就说,单独的标签是一个元素,成对出现的标签与其包含的内容也构成一个元素。由于元素牵涉及标签,标签又涉及属性。1 卡片、卡片组及其属性1.1 共有属性WML元素的共有属性主要有3个:id、class和xml:lang属性。WML的所有元素都有两个核心属性,即标示(id)和类(class)属性。它们主要用于

742

WML 快速查询表

  Decks and cards Timers Variables Anchored links Layout and text formatting Events

apinghappy 600

WAP入门文章

搭建WAP应用开发环境 WML开发详细指南JSF(Java Server Face)与在Web UI实现托拽式快速开发的应用

RookIE端口 1461

Symbian OS 的错误码汇总

 KMmsErrorInvalidSettings  -11035  KMmsErrorEMRUExceeded  -11036   WML错误Parser  EWapErrWmlLibNullNode -12000 EWapErrWmlLibCDATANodeWithoutParent -12001   Validator  EWapErrWmlLibAccessViolation -1

xian222的专栏 1407

WML开发教程

 WAP(wml)开发教程WAP(无线应用协议)是在数字移动电话、因特网或其他个人数字助理机(PDA)、计算机应用之间进行通讯的开放全球标准。 它是由一系列协议组成,用来标准化无线通信设备,可用于Internet访问,包括收发电子邮件,访问WAP网站上的页面等等。 WAP将移动网络和Internet以及公司的局域网紧密地联系起来.提供一种与网络类型、运行商和终端设备都独立的移动增值业务。

周亮的专栏 2968

用jsp开发wml Wap网站的制作

<br />1.6 JSP技术在WAP开发中的应用 使用JSP(Java Server API)技术可以简单而快速地在WAP终端上生成动态的WAP页面,而且能够利用JSP的诸多功能,实现复杂的WAP应用。我们仍以WML为例,讲解JSP技术在WAP开发中的应用。 11.6.1 基本规则 使用JSP技术前,首先要建立它的开发环境。一般是在Windows NT上安装并建立Java Server Web Development Kit(JSWDK),其版本可为1.01版或更高的版本。 为了测试和浏览JS

码龙008 4393

为Android添加对WML的支持

WML简介 WML(Wireless Markup Language - 无线标记语言)。它是一种从 HTML 继承而来的标记语言,但是 WML 基于 XML,因此它较 HTML 更严格。因为它比HTML 编写的内容要消耗网络浏览器更少的内存和CPU时间, 使得WML早期对广域网和移动设备来说更加友好。 WML的未来和WML在中国的现状 但是随着网络技术以及移动设备的快速

caovae Android私房菜 1795

无线标记语言(WML)基础之程序结构

 WML程序在结构上形式上与html程序有很多相似之处。下面我们就根据一个实例来分析一下WML程序的结构及组成。  1、WML的元素和标签  分析实例之前,我们有必要对WML的元素和标签予以简单说明。与HTML类似,WML的主要语法也是元素和标签。元素是符合DTD(文档类似定义)的文档组成部分,如title(文档标题)、IMG(图像)、table(表格)等等,元素名不区分大小写。WML

aflylove的专栏 840

WML语法学习

WML是一种基于XML(扩展标记语言)的一种标记语言。这种语言是为无线设备用户提供交互界面而设计的。这些无线设备包括电话、呼机和个人数字助理(Personal Digital Assistants)等等。WML是为具有以下特点的设备而设计的:体积小(相对于个人计算机)。 有限的内存和CPU大小。 通讯带宽窄和时延长。 现在支持WML的设备大致分为两大类:电话 其特点就是

寻梦的赶路人 890

WML语言的基本知识(转)

wml语言的基本知识上一节我们介绍了wml程序的基本结构,接下来我们介绍wml语言的基本知识,主要包括wml的字符集、变量、数据类型及wml程序的基本组成部分等。5.3.1 wml的字符集及编码wml使用xml的字符集,即通用字...

cuankuangzhong6373的博客 417

WML 是什么

WML(无线标记语言,Wireless Markup Language)是一种脚本语言, 它比HTML 编写的内容要消耗网络浏览器更少的内存和CPU时间, 使得WML对广域网和移动设备来说更加友好。整合的移动设备(灵通电话, smartphone), 如 Handspring T

学习、思考、分享 3192
上一篇: 应用Java技术开发WAP应用程序
下一篇: 搭建OTA下载服务器
mingjava
博客等级 码龄24年 68粉丝 114原创
评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值