`
giky2323
  • 浏览: 28676 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论

jsp与flash通信 用loadvars函数

阅读更多
关于LoadVars
作者:Super-Tomato   类型:原创   来源:闪吧  
loadVariables这个指令并不陌生,在MX版本之前就已经存在了,而为何在MX版本开始要增加多一个LoadVars事件呢?
我想很多人都在使用loadVariables吧,简单而且不用像LoadVars那样麻烦还要写一大堆,这也是这两个时间不同的关键所在。
对于不懂的朋友,那么我们先来建立一个外部文件,然后再看看loadVariables和LoadVars的写法:

external.txt


myText=这是外部文件

那么先来看看loadVariables的写法:



loadVariables("external.txt",_level0);
btn.onRelease = function() {
trace(myText); //获得的输出结果是 “这是外部文件”
}

这样就可以很顺利的取得外部文件的变量myText的值了,但是如果我们不是要在按钮事件发生之后才取得变量呢?
我们也来试试看把之前的代码改成



loadVariables("external.txt",_level0);
trace(myText); //获得的输出结果是 “undefined”

为何会不一样呢? 原因很简单,因为要取得外部变量之前,我们必须先载入该文件完毕之后才能够取得当中的变量。简单来说就像你是用loadMovie载入图片,在此图片还没有载入完毕之前你是无法知道图片的宽度,高度,颜色等资料。为了证明出这样的结果,我们再把之前的代码修改一下



System.useCodepage = true;
loadVariables("external.txt", _level0);

onEnterFrame = function() {
for(var i in _level0) {
if( i == "myText") {
delete this.onEnterFrame;
}
trace(i);
}
trace("--------------------");
}
trace("myText = "+myText+"\n");



我们使用循环追踪变量myText的结果如下:


myText = undefined //这里是一开始我们所要取得myText变量的结果

onEnterFrame //这里是第一次循环,可以得到的只有三个变量,就是循环本身,Flash版本和按钮
$version
btn
--------------------
myText //而在第二次循环的情况下我们可以看到了,场景中已经完全载入好外部文件并取得当中的变量了
onEnterFrame
$version
btn
--------------------



所以从以上来看,要使用loadVariables取得外部就必须是在按钮事件或自己定义循环侦测,这样的伸缩性就不大。因此在我以前使

用Flash 5时做起事情来可是蛮费时间,幸好MX版本之后出现了LoadVars以解决这个恼人的问题。

那么LoadVars怎么使用呢?那么我们再建立一个Flash文件,输入以下代码然后和external.txt储存在同一路径后测试



System.useCodepage = true;
var myLoad = new LoadVars(); //定义LoadVars这个类
myLoad.load("external.txt"); //指定LoadVars载入external.txt这个文件
myLoad.onLoad = function(success) { //LoadVars的载入事件
if(success) {
trace(this.myText);
}
}


看到输出结果了吗?是不是只多几行代码就可以达到你所要的结果。在LoadVars最主要的关键就是onLoad事件了,在这个事件中会回传一个布林值,即代表了通知代码文件是否已经载入成功。所以在onLoad事件当中我们最好使用if来判断回传值是成功还是失败,如果成功的话文件中的变量会以object的方式储存在LoadVars当中,所以我们可以使用myLoad.myText或this.myText来取得。

这也是很多人没去看帮助档就提问为何trace()在onLoad事件之外就无法取得变量,此onLoad方法既然可以判断文件可否被载入,当然也可以拿来测试文件是否存在。如果指定的文件不存在,onLoad事件也就马上会回传载入不成功的布林值。

如果用JSP搞可以改下这点代码:
myLoad.load("http://localhost:8080/work5/back/test.jsp");
JSP页面这样写:
<%@ page contentType="text/html;charset=gb2312"%>
<%
String tmp="中文";
out.println("&str="+tmp);//这里一定要写成"&str="的形式,&一定不能少,str的名字要与你a中建的相同,“= ”号也不能少;
%>
分享到:
评论

相关推荐

    flash与jsp通信

    Tomcat直接放到服务器下就可以了,比如我的是……\Apache Software Foundation\Tomcat 6.0\webapps\,于是我的文件树就变成了……\Apache Software Foundation\Tomcat 6.0\webapps\flash\(flash.jsp,LoadVars.swf,...

    flash与php通信源码

    【Flash与PHP通信】是指在Adobe Flash MX或更高版本中使用LoadVars对象与PHP服务器端脚本进行数据交互的技术。这种通信方式使得Flash能够轻松获取和发送数据到PHP,进而可以实现动态内容加载、用户输入处理、数据...

    FLASH AS3 loading 源文件 源代码

    对于非二进制的数据,如XML或文本文件,我们可以使用`flash.net.URLLoader`类。这个类允许我们加载文本数据,并通过事件监听来处理加载完成的数据。 4. **事件驱动编程** AS3采用事件驱动模型进行加载操作。例如...

    FLASH连接数据库

    本文将详细介绍如何使用Flash与数据库进行连接,以实现数据的读取和写入。 首先,我们需要了解Flash与数据库连接的基础概念。Flash本身不直接支持数据库操作,但可以通过ActionScript(AS)脚本与服务器端的动态...

    Flash链接数据库实例

    虽然这个标签可能指的是Flash直接连接数据库,但在实践中,Flash并不直接与数据库通信,而是通过服务器端脚本(如ASP、PHP、JSP等)作为中介。例如,使用ASP,服务器端脚本可以处理数据库查询,并将结果返回给Flash...

    Flash MX 高级教程

    Flash MX 还允许使用ActionScript进行网络通信,如发送HTTP请求(通过XMLSocket或LoadVars对象),实现与服务器的实时交互。这在创建动态内容、游戏、在线应用等方面非常有用。 **ActionScript优化与调试** 优化...

    flash读取外部文件

    在本文中,我们将深入探讨如何使用Flash技术来读取外部文件,特别是文本文件。 标题:“Flash读取外部文件” Flash允许开发者通过ActionScript 2或3来访问外部资源,包括XML、JSON、文本文件等。这是因为Flash ...

    FLASHFlash+php+mysql简单留言本制作.docx

    - **数据交换**:PHP与MySQL之间的通信是通过SQL语句进行的,而Flash与PHP之间的通信则需要用到Flash ActionScript中的`LoadVars`类。通过`sendAndLoad`方法,Flash可以发送数据给PHP,并接收PHP返回的数据。 3. *...

    Flash中出现中文乱码的解决办法.pdf

    在 Flash 中,loadVariables()、getURL 动作或 LoadVars 对象可以用来加载外部文本文件。如果这些文本文件使用非 Unicode 编码,需要使用 System.useCodepage = true; 脚本来确保 Flash 玩家正确地解释中文字符。 ...

    FLASH动态读取XML (包含:ASP生成xml代码及flash源文件)

    4. **XML与Flash通信**:Flash通常使用`loadXML()`或`loadVars()`方法加载XML文件。一旦XML数据加载完成,可以使用AS的`parseXML()`函数解析数据,然后根据需要在舞台上动态显示或操作这些数据。 5. **示例代码**:...

    flash 提交表单3.

    3. 数据提交:Flash表单通常使用HTTP协议通过XMLHttpRequest对象(或在较早版本中使用LoadVars类)向服务器发送POST或GET请求,将表单数据封装在请求体中。 三、Flash表单的优点 1. 强大的交互性:Flash提供的图形...

    转盘Flash源代码

    根据提供的文件信息,本文将对“转盘Flash源代码”中的关键知识点进行详细的解析与说明。这段代码主要涉及了Flash中的ActionScript编程语言,用于实现一个动态的转盘游戏功能。接下来,我们将按照代码逻辑顺序逐步...

    Flash从数据库调用数据实例(asp+access+flash)

    这个实例对于初学者来说是一个很好的学习资源,它展示了动态网站开发中前端与后端的协作,以及如何使用Flash实现与数据库的交互。同时,它也强调了跨平台数据交换的重要性,因为Flash可以跨浏览器运行,而ASP则在...

    flash简单的表单提交程序

    总结,Flash的表单提交程序涉及了UI设计、ActionScript编程、数据处理、服务器通信等多个方面,这些知识对于理解和开发基于Flash的交互式应用程序至关重要。尽管Flash已逐渐退出舞台,但其设计理念和技术原理对现代...

    flash 调用外部数组.doc

    我们使用`for`循环遍历数组,通过`trace()`函数打印出每个元素,以便在Flash的输出窗口中查看。 PHP代码部分展示了如何生成这种逗号分隔的文件列表。通过`opendir()`打开当前目录,然后使用`readdir()`遍历目录中的...

    Flash读取数据库的值.pdf

    在本节中,我们将探讨如何使用Flash来读取数据库中的数据。主要涉及的知识点包括Flash与服务器端数据交互的方式、数据库的创建与管理以及利用LoadVars类读取数据的实现。 首先,Flash与服务器间的数据交换通常有三...

    Flash读取数据库的值[收集].pdf

    在软件开发领域,尤其是涉及到Flash与...通过学习如何使用LoadVars类和XML类,开发者可以将动态数据集成到Flash应用程序中,从而增强用户体验和功能。无论是小型项目还是大型应用,理解并掌握这些技术都是至关重要的。

    FLASH与 ASP通讯---LV类基础讲解

    在Flash与ASP交互的过程中,LoadVars(LV)类扮演着关键角色。LV类主要用于处理客户端和服务器之间的数据交换,它能够轻松地加载和发送变量到服务器,或者从服务器接收数据。LV类是ActionScript 2.0的一部分,适用于...

    Flash读取数据库技术2

    Flash MX数据库读取高级间接连接方法主要涉及到使用Flash与服务器端数据库进行交互的技术。在本文中,我们将重点探讨比LoadVariables更为强大的LoadVars对象的使用,以实现更高效、更灵活的数据交换。 ...

    FLASH ActionScript2.0 官方实例

    了解如何在影片剪辑中编写和调用函数,以及如何与其他对象交互,是开发动态组件的关键。 10. **错误处理与调试** 学习如何捕获和处理运行时错误是提高代码健壮性的必要步骤。ActionScript 2.0 提供了try...catch...

Global site tag (gtag.js) - Google Analytics