WML开发详细指南

深入探索WML编程:从基础到应用 本文还有配套的精品资源,点击获取 简介:WML是为无线设备设计的标记语言,主要用于早期移动互联网时代。本教程详细介绍WML的基础语法、导航与交互方法、WML与WAP的关系、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使这种体验适应于无线网络及设备的特点,如屏幕大小、带宽限制等。 阅读详情

相关推荐

全面的WAP浏览器开发资源包:包含WML解析器

本文还有配套的精品资源,点击获取 简介:本资源包提供了一系列关于WAP浏览器开发的资料,重点讲解了WML解析器及其在移动设备上展示网页内容的作用。资料包括多种编程语言实现的WML解析器源代码,涵盖Java、C++和C语言,并提供了微软解释器、TDDownload工具等辅助材料,为开发者提供了一个从WML解析到WAP应用实现的完整学习平台。 1. WAP浏览器开发概...

weixin_28933797的博客 850

wml简介(入门知识)

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

zhuanzhuanhaha的专栏 962

HTML到WML格式转换

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

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的简单例子及编辑

一心两用 1331

什么是 WML?

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

VLA模型(具身智能入门十)

Vision Language Action(VLA)模型VLA模型是机器人领域的“感知-理解-执行”一体化框架,通过Transformer架构融合视觉、语言、动作模态,核心目标是让机器人在自然语言驱动下,自主完成复杂操控任务。其定义的核心在于“跨模态统一”与“具象化行动”——不仅能“看懂”“听懂”,更能“做出正确的动作”,是实现通用机器人智能的关键方向。提供通用序列建模骨架,让视觉、语言、动作能以“序列”形式统一处理;ViT将视觉输入转换为序列特征,提供“看”的能力;LLMs。

weixin_39699362的博客 9917

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

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

huabingl的专栏 1408

FastH3 + vLLM-Omni:MiniMax H3 视频生成本地部署与加速实战

随着多模态大模型在视频生成领域的普及,如何高效部署和加速推理成为工程实践的关键。vLLM作为高性能推理框架,通过PagedAttention和continuous batching显著优化了大模型吞吐;而FastH3则针对特定模型结构进行算子融合和CUDA优化。结合vLLM-Omni对多模态输入的支持,可以将MiniMax H3的视频生成耗时从分钟级压缩至秒级。本文以视频生成模型为例,详细拆解环境配置、推理优化与问题排查,为多模态模型本地部署提供参考。

ciya3282的博客 482

4.WML编程

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

745

Zabbix7.4监控系统在Rocky Linux10.0上的完整部署流程(含MariaDB配置)

本文详细介绍了在Rocky Linux 10.0操作系统上部署企业级监控系统Zabbix 7.4的完整流程,并重点阐述了与MariaDB数据库的深度集成与性能优化配置。内容涵盖从系统环境准备、数据库安装与安全加固、Zabbix核心组件部署,到服务配置、Web界面初始化以及生产环境高级调优的全方位实战指南,旨在帮助用户构建稳定高效的监控平台。

weixin_29200741的博客 328

【Tessent Shell Users Manual】【Ch3】Design Introspection and Editing(未完待续)

Tessent Shell 提供了一系列用于检查(examining/introspecting)和编辑design的命令。

Tranquil_ovo的博客 1730

WML 快速查询表

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

apinghappy 604

【Android】汽车电源管理:深入解析CarPowerManager与Suspend To RAM的交互机制

本文深入解析了Android Automotive OS中CarPowerManager与Suspend To RAM(深度睡眠)的交互机制。详细阐述了从车辆发出睡眠请求,到CarPowerManagementService协调应用状态,最终通过内核进入低功耗睡眠的完整流程,并探讨了唤醒机制、开发者实践及功耗优化策略,为车机应用开发与系统优化提供关键指导。

weixin_28339967的博客 289

WAP入门文章

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

RookIE端口 1467

银河麒麟v10-arm SEALOS离线部署k8s集群(v1.22.8)

示例 如果你想保存一个名为 "my_snapshot" 的 etcd 快照到指定的对象路径你可以使用以下命令: sealos etcd save --backupPath /root --name my_snapshot 如果文件名带时间戳:my_snapshot$(date +"%Y%m%d_%H%M%S") 会生成一个形如 20230913_143045 的时间戳。--restorePath string:指定快照恢复目录(默认为 "/opt/sealos/etcd-restore")。

xjudt的博客 3285

小白跑WRF第五天,安装WPS和静态地理数据

小白跑WRF第四天,安装WPS一、WPS简介二、下载和安装WPSV4.0第一步、进入Build_WRF文件夹第二步、下载WPSV4.0第三步、解压WPS安装包第四步、修改intmath.f(必须执行)第五步、安装WPS三、修改namelist.wps 一、WPS简介 二、下载和安装WPSV4.0 第一步、进入Build_WRF文件夹 cd Build_WRF 第二步、下载WPSV4.0 下载WPSV4.0的安装包有以下三种方式: 利用Linux命令下载。 进入网站https://www2.mmm.uca

weixin_42372313的博客 2万+

Symbian OS 的错误码汇总

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

xian222的专栏 1407

最新2026年《网络数据安全风险评估办法》条款解读

大型企业集团IT变革下的零信任安全体系建设方案(55页).pptx。以数据安全为核心的安全立体防御体系解决方案(41页).pptx。让数据安全合规地创造价值(15页 PPT).pptx。大型集团数据安全应急预案(57页).docx。数据安全治理与评估服务业务介绍.pptx。数据安全管理实践(17页).pptx。大数据安全架构设计方案.pptx。大数据安全规划总体方案.pptx。数据库安全综合治理方案.pptx。医疗数据安全建设方案.pptx。数据安全框架规划图.pptx。数据安全治理方案.pptx。

cdfunlove的博客 46

WML开发教程

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

周亮的专栏 2970

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

用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 4396

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

为Android添加对WML的支持

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

caovae Android私房菜 1800

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

wml基础

WML的基本情况 用于WAP的标记语言就是WML(Wireless Markup Language)。WML的语法跟XML一样,WML是XML的子集。HTML、XML和WML的文件有很多相似之处,这样网页开发者在过去10年中所学的东西今天依然适用。WML页面文件的后缀是 *.WML,就象HTML的 *.HTML后缀。XML规定定义了一个规范的XML文件的规格。任何违反这个规定的WML文件会出错。W

java05的专栏 1254

Wml开发者指南:从零开始理解源码架构和扩展开发

你是否曾经在开发中遇到符号链接的兼容性问题?😅 Wml(Watchman Link)是一个创新的文件同步工具,它通过监听源文件夹的变化并智能复制文件到目标文件夹,完美解决了传统符号链接在各种开发环境中的兼容性问题。这个强大的工具特别适合前端开发、React Native项目和需要跨项目共享模块的场景。 ## 📊 Wml核心架构解析 Wml的架构设计简洁而高效,主要由以下几个核心模块组成:

gitblog_00839的博客 799

WML (Wireless Markup Language) 实践指南

--- ## 项目介绍 WML,即无线标记语言,是一种基于XML的内容格式,专为实现Wireless Application Protocol(WAP)规范的设备设计,如早期的移动电话。虽然随着技术进步,WML已经不那么流行,但它曾是移动网络内容的主要标准之一。本指南将引导您了解一个假设性的开源项目 `@wix-incubator/wml`,尽管实际的GitHub链接没有提供具体的项目详情,我

gitblog_01052的博客 477
上一篇: 应用Java技术开发WAP应用程序
下一篇: 搭建OTA下载服务器
mingjava
博客等级 码龄24年 68粉丝 114原创
评论 9
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值