因为工作需要,最近研究了一下FLASH与JSP的交互。一google在网上就发现有几种方法,具体就不说了,有兴趣的朋友自己googel下。现在只说一下我个人觉得最方便,也最实用的,通过在flash里加载远程xml实现与jsp、servlet的交互。
熟悉AS的朋友应该知道在flash里怎么加载外部xml文件:
var xmlObj:XML = new XML();
xmlObj.load("test.xml");
这样就可以加载一个xml文件,再在flash里解释这个XML对象获得里面的值。大家可能会问这跟与jsp、servlet交互有什么联系。:)
如果这样写呢?
var xmlObj:XML = new XML();
xmlObj.load("http://localhost:7001/loadXml.do?id=myid");
loadXml.do指的是weblogic下配置的SERVLET的虚拟路径,说明白一点就是flash里用加载远程的xml方式去请求一个servlet,而servlet通过Response输出一个xml文件,servlet代码如下:
response.setContentType("text/xml");
PrintWriter out = response.getWriter();
out.println("<?xml version=/"1.0/" encoding=/"UTF-8/"?>");
out.println("<root>");
out.println("<element1 attr1=/"value1/" attr2=/"value2/" />");
out.println("</root>");
out.flush();
out.close();
这样的话在flash里就可以解释xmlObj对象,获得servlet里输出的xml文档里的值。
当然xmlObj.load("http://localhost:7001/loadXml.do?id=myid");里的id在servlet下也可通过Request.getParameter("id");得到。
与JSP通信是一回事,具体操作就不说了。
大家觉得怎么样?既可以从FLASH里传数据到servlet或JSP里,又可以在FLASH里接收servlet或JSP输出的xml,是不是很方便?:)