$rd_nocache = random(6);
' 新的页面地址,使页面缓存无效
<a href=\"index.php?action=pm&do=send&$rd_nocache\">$lang[pm_send]</a><br />\n"
' 新的表单名称,使表单缓存无效
echo "<p>$lang[pm_to]:<input type=\"text\" name=\"msgto$rd_nocache\" value=\"$pm[msgfrom]\" maxlength=\"20\" format=\"\" /><br />\n".
"<anchor title=\"$lang[submit]\">$lang[submit]".
"<go method=\"post\" href=\"index.php?action=pm&do=send&sid=$sid\">\n".
"<postfield name=\"msgto\" value=\"$(msgto$rd_nocache)\" />\n".
"</go></anchor>\n";
由于手机浏览器缓存的问题,我们会发现在WAP中修改记录点进去时候仍然是上一条记录信息,也就是缓存信息,比方说修改新闻,修改个人资料等。本人在网上找了很多资料,如有网友提出 加一个禁止缓存代码,如下
<meta http-equiv="Cache-Control" content="no-cache"/><!-- 禁止浏览器从缓存中访问页面内容 -->
<meta http-equiv="Expires" content="0"/>
<meta http-equiv="Pragma" content="no-cache"/>
但是在实际测试过程中,仍然没用。
经过一番思考,想到了一个解决方法,就是将每次修改记录的表单里面的文本框等名字变不同,即可。那样也无所谓缓存了,通过这个思路,下面以JSP为例子给大家提供一个简单说明:
我们在页面上生成一个随机数:String ID= (int)(Math.random()*100+100)+"";
设置ID=request.QueryString("ID")
文本框的名称name设置为:name="title<%=ID%>"
提交处:<postfield name="title" value="$title<%=ID%>"/>
这样每次修改进去,由于表单名称都不同,因此就会读取最新记录,而不是缓存信息!
代码如下:
- <%@ page language="java" contentType="text/vnd.wap.wml; charset=GB2312"
- import="java.util.HashMap"
- import="com.kingtop.pfb.*"
- %>
- %><?xml version="1.0"?>
- <!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"/>
- <meta http-equiv="Cache-Control" content="no-cache"/>
- </head>
- <card id="Home" title="加入电子优惠券">
- <%
- String aa = (int)(Math.random()*100+100)+"";
- String s___ = String.valueOf(System.currentTimeMillis());
- String m = request.getParameter("m");
- String code = request.getParameter("code");
- EwmWapClient ewc = new EwmWapClient();
- Object[] data = null;
- if ( !"".equals(m))
- {
- data = ewc.yhq_add_kc(m,code);
- int ret = Integer.parseInt((String)data[0]);
- String msg = (String)data[1];
- if ( ret == 0 ) {
- out.println("<a href=\"youhuiquan.jsp?m="+m+"&s___="+s___+"\">增加成功,进入列表</a>");
- }else{
- out.println(msg);
- }
- }
- out.println("m="+m);
- out.println("code="+code);
- out.print("aa="+aa);
- %>
- <p align="left">
- <fieldset title="加入电子优惠券">
- 手机号:<input type="text" name="m<%=aa %>" size="12" format="*n" maxlength="11"/><br/>
- 数字码:<input type="text" name="code<%=aa %>" size="13" format="*n" maxlength="12"/>
- </fieldset>
- <anchor title="手机号">
- <go method="post" href="<%=request.getRequestURI()%>?s___=<%=s___%>">
- <postfield name="m" value="$(m<%=aa %>)"/>
- <postfield name="code" value="$(code<%=aa %>)"/>
- </go>提交
- </anchor>
-
- <br/><br/><a href="index.jsp?s___=<%=s___%>">返回</a>
- </p>
- </card>
- </wml>
如何去除WAP页面输入框缓存?
在WAP页面输入框的缓存是让用户感到很头疼的东西,很多时候我们第二次访问同一个输入框是想重新输入值的,结果页面响应给我们的框里却遗留了上一次输入的值。还需要手动的删除上一次数据再重新输入数据。从这个操作上来说让用户体验很不流畅,或者说给用户使用带来了阻力。
为了规避这种输入框缓存,我们可以利用随机数,如参数param我们可以写成 param + random
分享到:
相关推荐
本教程将深入探讨WML中的文本框控件`<input>`。 ### `<input>`标签的基本结构 `<input>`标签用于定义一个输入字段,其中至少需要设置`name`属性来指定存储用户输入的变量名。其他的属性可以根据需要进行选择性设置...
5. **输入元素(Input Elements)**: 与HTML类似,WML支持用户输入,如文本框(`<input>`)和选择列表(`<select>`)。 ### 二、WML数据类型 1. **变量(Variables)**: 变量用于存储和传递数据,通过`<var>`标签...
《Learning WML & WML Script》是一本由Martin Frost编写的书籍,专注于介绍无线标记语言(WML)和WML脚本,适用于那些希望在移动通信领域开发内容的开发者。WML是Wireless Markup Language的缩写,是为无线应用平台...
**WML(无线标记语言)**是专门为无线设备如移动电话、呼机和PDA设计的一种标记语言,它是XML的一个子集,由WAP论坛提出。WML的主要目的是为无线设备用户提供交互式的界面,便于在有限的硬件资源和通信带宽下展示...
**WML语法详解** WML(Wireless Markup Language)是一种基于XML的标记语言,专为无线设备设计,如手机、传呼机和个人数字助理(PDA)。它旨在为这些设备提供交互式的用户界面,考虑到它们的特性:体积小巧、内存和...
4. **表单处理**:WML支持简单的表单元素,如`<input>`、`<select>`、`<option>`等,用于用户输入和数据提交。 5. **变量与脚本**:WML1.1通过`<var>`元素可以创建变量,但不支持复杂的脚本语言,通常配合WAP网关的...
2. **表单提交**:通过`<go>`元素和`href`属性,可以定义用户点击后的动作,如跳转到新的WML页面或执行服务器端脚本。 3. **事件响应**:WML支持简单的事件处理,如`onenterforward`和`onenterbackward`,用于定义...
书签的 CARD,而不会重新下载整个 DECK。...WML 文件由卡片组成,每个卡片包含各种元素,如文本、链接和表单,用于构建无线应用的用户界面。理解 WML 的基本结构和语法规则,对于开发适应移动设备的 web 应用至关重要。
WML(Wireless Markup Language)则是专门为无线设备如早期的移动电话设计的一种标记语言。在20世纪90年代末到21世纪初,当智能手机尚未普及,WML被广泛用于创建适应小屏幕和低带宽环境的移动网页。它的设计目标是使...
5. **交互性**:WML支持表单和用户输入,可以创建简单的互动功能,如搜索或数据提交。 **WAP与WML的关系** WAP是一个框架,包含了多种技术,如WML、WMLScript(类似于JavaScript的脚本语言)和WAP协议栈,用于处理...
3. **集成WML Script**:添加交互性和动态功能,如表单验证、数据处理等。 4. **测试与优化**:在多种设备上测试网站,确保兼容性和性能,可能需要调整内容布局或脚本逻辑。 5. **部署**:将WML文档上传至支持WAP的...
**WML(Wireless Markup Language)**是一种专为无线设备如早期的移动电话设计的标记语言,用于创建适应小屏幕的交互式应用。WML标签和语法是构建这些应用程序的基础,下面将详细介绍WML标签的基本结构和常用属性。 ...
**WML (Wireless Markup Language)** 是一种专为窄带移动设备如早期的手机和寻呼机设计的标记语言,它是基于XML的,用于创建在这些小型设备上展示的内容和用户界面。WML的设计考虑了设备的局限性,如小屏幕、有限的...
1.3 WML Card:卡片是WML的基本单位,每个卡片上可以包含文本、链接、表单等元素。卡片间的跳转通过`go`元素实现,用户可以通过按键或触摸屏进行操作。 二、WML与HTML的区别 2.1 设计目标:WML面向有限显示面积和...
2. **预定义元素**:WML有预定义的一些元素,如`<go>`(跳转到另一个卡片或URL)、`<submit>`(提交表单数据)、`<input>`(接收用户输入)等。 3. **文本格式化**:WML提供了如`<p>`(段落)、`<b>`(粗体)、`<i>`...
在`wml补充.txt`、`wml下.txt`、`wml中.txt`和`wml上.txt`这四个文件中,可能包含了各种WML实践案例,比如基本的卡片布局、表单处理、动态内容生成等。通过逐个阅读这些案例,你可以更深入地理解WML的实际应用。 **...
**WML(Wireless Markup Language)简介** WML,无线标记语言,是一种专为移动设备设计的标记语言,主要用于创建适应于低带宽、小屏幕的无线应用,如早期的移动电话上的网页。WML是WAP(Wireless Application ...
在处理更复杂的WML文档时,你需要编写更多的XSLT模板来处理不同的WML元素,例如`<menu>`, `<go>`和`<input>`等。同时,考虑到HTML5的特性,可能还需要添加对多媒体、表单验证和响应式设计的支持。 在压缩包文件`...
一、WML概述 WML,全称为Wireless Markup Language,即无线标记语言,是一种专为移动设备设计的标记语言,旨在优化无线网络上的数据传输和显示。它由WAP论坛在1998年推出,作为WAP(Wireless Application Protocol...