阿哥论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博账号登陆

只需一步,快速开始

搜索
查看: 648|回复: 1

wap开发中的一些细节

[复制链接]

12

主题

0

好友

52

积分

IT高级工程师

Rank: 2

升级  1.33%

发表于 2013-1-30 22:09:47 |显示全部楼层
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">&#x38;&#x38;(138345657678)</option>
<option value="1383456576786">&#x38;&#x38;&#x38;&#x38;&#x36;(1383456576786)</option>
<option>[返回]</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&amp;groupname=11%B2%BB%B6%ED%B6%F8dd&amp;groupcode=6"></go></do>
<do type="accept" label="确定"><go href="/wapapp/servlet_wap?serviceID=0213"  method="get"  accept-charset="GB2312">
<postfield name="omgroupname" value="&#x31;&#x31;不俄而&#x64;&#x64;"/>
<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">

0

主题

0

好友

56

积分

IT高级工程师

Rank: 2

升级  4%

发表于 2014-5-12 20:50:55 |显示全部楼层
不错不错,楼主是个绝对高手












http://www.kandaowo.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册 新浪微博账号登陆

回顶部