WAP开发中的一些细节及经验

1)wap多选框
<card id="phones" title="组信息">
<do type="prev" name="Prev" label="Back">
<go href="meeting.wml"></go></do>
<do type="accept"><go href="servlet_wap?serviceID=0124">
<postfield name="scity" value="1"/>
<postfield name="members" value="$members"/>
</go></do>
<p mode="nowrap">**选择会议成员**
<select name="members" multiple="true">
<option value="138345657678">88(138345657678)</option>
<option value="1383456576786">88886(1383456576786)</option>
<option onpick="meeting.wml">[返回]</option>
</select>
</p>
</card>
2)wap单选框
<card>
<p>Please choice your favourite Web.<br/>
 <select name="X">
  <option value="S">sina</option>
  <option value="Y">yahoo</option>
 </select>
<p>
</card>
3)有关左右软按键)(由手机浏览器自动解析为menu菜单,在手机的右键出现;)
<do type=".options." label="确认" optional="false">
    <go href="/wapapp/servlet_yxtwap?serviceID=0214"/>
  </do>
代表右软按键,一个“确定”按钮;
<do type=".Accept." label="返回" optional="false">
    <go href="../servlet_yxtwap?serviceID=0201"/>
  </do>
代表左软按键,一个“返回”按钮;

最好是这样:
<do type="options" name="Prev" label="返回"><go href="indexmember.wml"></go></do>
<do type="Accept" label="确定">
<go href="/wapapp/servlet_yxtwap?serviceID=0401">
<postfield name="name" value="$name"/>
<postfield name="nick" value="$nick"/>
<postfield name="call" value="$call"/>
</go>
</do>
返回刚才上页:
<do type="options" name="Prev" label="返回"><prev/></do>

<do type="options" name="Prev" label="返回"><go href="index.wml"></go></do>
<do type="accept" label="确定">
<go href="/wapapp/servlet_wap" method="post">
<!-- go href="/servlet/wap86test" -->
<postfield name="serviceID" value="0002"/>
<postfield name="phone" value="$(phone:e)"/>
<postfield name="passwd" value="$(passwd:e)"/>
</go>
</do>

4)有关软连结的友好提示
<a title = "确定" href="announce.wml">网站声明</a><br/>
加入title属性,可以在手机的左键显示title里面所放置的提示语。

"<do type=/"options/" name=/"Prev/" label=/"返回/"><go href=/"index.wml/"></go></do>"+
<do type="options" name="Prev" label="返回"><go href="index.wml"></go></do>

5)ipnut输入框自动换行
<p mode="nowrap">**姓名昵称**<br/>
姓名:
<input name="name" tabindex="1" maxlength= "32" />
注意:Ⅰ、p的mode属性为nowrap;
Ⅱ、input里没有size属性;

6)<p mode="nowrap">将菜单项显示在同一行中,而不是分行显示,如果是文字的话,可以实现滚动文本代替换行文本;
所以
<p mode="wrap">**用户登录**<br/>
输入手机号码:<br/>
<input name="phone" format="*N" tabindex="1" maxlength="11" size = "11"/><br/>
输入密码:<br/>
<input name="passwd" format="*N" tabindex="2" maxlength="6" size = "7"/>
</p>
就可以达到固定页面的效果;

7)正确的url连接
String strAddressList = WapUtil.gbk2unicode("通讯录");
WapUtil.encode("通讯录", strAddressList)

String groupName = request.getParameter("groupname");//(1)
groupName = WapUtil.togbk(groupName); //(2)
String unicgpName = WapUtil.gbk2unicode(groupName); //(3)
WapUtil.encode(groupName,unicgpName) //(4)如果是带中文参数连接的话,应该这样做为参数

8)作为提交数据的字段码制信息需要:
下面例子为将url中取的已经转码的中文连接字段做为提交字段,提交给servlet处理
(1) String groupName = request.getParameter("groupname");
groupName = WapUtil.togbk(groupName); //(1)
(2) String unicgpName = WapUtil.gbk2unicode(groupName);
(3) "<go href=/"servlet_wap?serviceID=0213/" accept-charset=/"GB2312/">/n" +
"<postfield name=/"omgroupname/" value=/"" + unicgpName + "/"/>/n" +
首先将已经encode的url中的连接字段取得,并用gb2312处理;
然后将该已经转成中文的字段转成unicode码制;
最后将该字段放入一个浏览器与服务器之间收发信息的字符集类型为gb2312的提交url,
完成

9)将输入框中的字段清空
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN"
"http://www.wapforum.org/DTD/wml_1.1.xml">
<wml>
<head>
<meta http-equiv="Cache-Control" content="max-age=0" forua="true"/>
</head>
<card id="card1" title="群呼群聊">
<onevent type="onenterforward">
<refresh>
<setvar name="mgroupname" value=""/>
</refresh>
</onevent>
<do type="options" name="Prev" label="返回"><go href="/wapapp/servlet_wap?serviceID=0203&groupname=11%B2%BB%B6%ED%B6%F8dd&groupcode=6"></go></do>
<do type="accept" label="确定"><go href="/wapapp/servlet_wap?serviceID=0213" method="get" accept-charset="GB2312">
<postfield name="omgroupname" value="11不俄而dd"/>
<postfield name="groupcode" value="6"/>
<postfield name="mgroupname" value="$mgroupname" />
</go></do>
<p mode="wrap">**修改组**<br/>
输入新组名:<br/>
<input name="mgroupname" tabindex="1" maxlength="64"/>
</p>
</card>
</wml>
其中<onevent></onevent>这段代码要放在card后面。

有关于输入框value值的预定义解决方案:
在card里面增加newcontext属性,并且为true;
如:<card id="card1" newcontext="true" title="test">
copyright 本文来自德仔工作室  
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值