当前位置: 代码迷 >> J2EE >> flex和java交互的有关问题
  详细解决方案

flex和java交互的有关问题

热度:69   发布时间:2016-04-22 03:04:47.0
flex和java交互的问题
在java的servlet里 request.setAttribute("name","小王");

在flex的mxml里如何取得name的值?
请赐教!!!

------解决方案--------------------
没有办法通过你这种方式传送

目前只能由以下2个方式

socket



webservice
------解决方案--------------------
Flex有三种方法可以和服务器联系
1 HTTPService,普通的POST或GET方式。在你的例子里想和Servlet对话用这种模式比较好
2 WebService 用SOAP和WebService从服务器端得到XML。普通的WebService用法
3 RemoteObjects 可以从服务器端获得封装好的JavaBean,在客户端会被自动封装到一个属性相同的ActionScript Bean里。需要额外的支持来实现,Adobe的LCDS(LifeCycle Data Services)是一个比较好的选择,极其强大而且很方便。另外ColdFusion也可以,不过没有LCDS好。

回答你的问题,下面的代码是类似login的一个功能,在页面完全渲染完之后,creationComplete就会执行callServlet这个方法来跟你的Servlet取得联系。里面mx:HttpService这个组件可以当做一个数据源使用,你既可以直接用Grid列出结果,也可以建立一个方法来处理获得的数据, 

<mx:HttpService ..... result="loginUser(event);"... > 和与之对应的

private function loginUser(event:ResultEvent):void{}就是干这个调调的

XML code
<?xml version="1.0" encoding="utf-8"?><mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute"xmlns="*" creationComplete="callServlet()">    <mx:Script>        <![CDATA[            private function callServlet():void {                userRequest.send();            }        ]]>    </mx:Script><mx:HTTPService id="userRequest" url="http://localhost/myproj/myservlet" useProxy="false" method="POST">        <mx:request xmlns="">            <username>{username.text}</username>            <emailaddress>{emailaddress.text}</emailaddress>        </mx:request>    </mx:HTTPService></mx:Application>
  相关解决方案