flash与jsp,struts action交互

    一直走Flash路线肯定会碰到一定的瓶颈。有时候Flash只是一个外表,事实也确实如此,我们必须给Flash一定的后台支持。现在后台程序又很多,这里我选择JSP。

  

    好了,先来讲讲最基本的基于http的数据传递方式,get和post。在JSP里,后台服务程序从URL中分析提取环境变量的方式为GET方式。POST方式则是作为一种标准的输入,来传递变量值得。GET方式在URL中传递的变量有一定的字符限制,而POST方式则没有。所以,在你决定选择用那种方式传递你的数据时,你必须清晰地考虑到这些。

    嗯,首先我们来讲讲通过GET方法发送变量,在Flash中你可以有很多方法和类支持这种传输协议。最简单的就是getURL。通过URL来传递,例如:_root.getURL("test.jsp?num=123","GET");这样num=123就传递给了test.jsp。在jsp文件中只需要通过request.getParamenter("num")获得这个字符串就可以了。

    同样,Macromedia Flash也支持导入外部数据,比如load,loadVariables,loadVariablesNum方法等。你获许需要发送一个id,然后后台通过一定的逻辑运算之后返回一个数据给Flash,你就可以用以上的方法了。

     很多时候往往我们不能靠单单的数组或环境变量来组织我们的数据结构。我们会选择XML。在Flash中把需要发送的数据整理成一个XML对象,然后POST给后台服务程序。我们可以用XML.send XML.sendAndLoad来发送,并在JSP中通过resquest.getInputStream()获得。接着我们就可以用SAX或DOM解析它,并进行进一步的操作了。

    在ActionScript 2.0中, Macromedia加入了LoadVars类,使用LoadVars类我们可以操作类似表单提交的动作了,比如LoadVars.send(),LoadVars.sendAndLoad()方法等。JSP里的编辑就和普通接受表单一样,是不是用的很亲切呢?

这篇文章主要介绍了一个思想,更多的大家继续探索吧。

最后还要提一些应用中碰到的问题:

1、缓存问题。由于第一次的request请求返回的数据就近入了浏览器的缓存,如果第二次还是发送相同的请求的话,那么Flash导入的数据是原封不变的,所以我们每一次的请求的url必须不一样,最简单的就是加上一个随机数。例如:"test.jsp?num=123&r=" add random(10)

2、谈一下中文的问题,这对一个Flash开发者而言确实是个麻烦。但是Java很好的Unicode能力,这也是我选择它的一个原因。在JSP文档里一定要包含:<% @page contentType="text/html;charset=utf-8" % >和request.setCharacterEncoding("utf-8"); 别的就没什么了。

 

看到这里,希望你有新的灵感。

 

以上为转载,很重要的一点就是缓存,加上随机数后问题解决!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值