上篇是flex解析java对象,这一片是java解析flex的传递的对象,并加入问候语返回。
在上一篇的基础上,修改一下代码:
User.java代码如下:
-
packagecom.test;
-
-
importjava.io.Serializable;
-
publicclassUserimplementsSerializable{
-
privateStringstrName;
-
privateStringstrAddress;
-
publicUser(){}
-
publicStringgetStrName(){
-
returnstrName;
-
}
-
publicvoidsetStrName(StringstrName){
-
this.strName=strName;
-
}
-
publicStringgetStrAddress(){
-
returnstrAddress;
-
}
-
publicvoidsetStrAddress(StringstrAddress){
-
this.strAddress=strAddress;
-
}
- }
MyFirstFlex.java代码如下:
-
packagecom.test;
-
-
publicclassMyFirstFlex{
-
publicUsergetUser(Useruser)
-
{
-
Useruser1=newUser();
-
-
user1.setStrAddress("地址是"+user.getStrAddress());
-
user1.setStrName("姓名是"+user.getStrName());
-
-
returnuser1;
-
}
- }
MyFirstFlex.mxml代码如下:
-
<?xmlversion="1.0"encoding="utf-8"?>
-
<mx:Applicationxmlns:mx="http://www.adobe.com/2006/mxml"layout="absolute">
-
<mx:Script>
-
<![CDATA[
-
importmx.rpc.events.ResultEvent;
-
importmx.controls.Alert;
-
-
privatefunctiongetUser():void
-
{
-
varuser:User=newUser();
-
-
user.strName=txtName.text;
-
user.strAddress=txtAddress.text;
-
-
userRO.getUser(user);
-
userRO.addEventListener(ResultEvent.RESULT,getROResult);
-
}
-
-
-
privatefunctiongetROResult(e:ResultEvent):void
-
{
-
varuser:Object=e.resultasObject;
-
-
if(user!=null)
-
{
-
txtName.text=user.strName;
-
txtAddress.text=user.strAddress;
-
}
-
else
-
{
-
Alert.show("没有结果!");
-
}
-
}
-
]]>
-
-
</mx:Script>
-
-
<mx:RemoteObjectid="userRO"destination="getUser"/>
-
<mx:Panelx="109"y="65"width="411"height="249"layout="absolute"fontSize="12">
-
<mx:Labelx="69"y="36"text="姓名"/>
-
<mx:Labelx="69"y="118"text="地址"/>
-
<mx:Buttonx="189"y="161"label="请求"id="btnRequest"click="getUser()"/>
-
<mx:TextInputx="126"y="34"id="txtName"/>
-
<mx:TextInputx="126"y="116"id="txtAddress"/>
-
</mx:Panel>
-
-
</mx:Application>
User.as代码如下(我暂时放在与MyFirstFlex.mxml同一目录下,注意,编写完成后确保与编译后的.swf在同一目录):
-
package
-
{
-
[RemoteClass(alias="com.test.User")]
-
publicclassUser
-
{
-
publicvarstrName:String;
-
publicvarstrAddress:String;
-
publicfunctionUser()
-
{
-
}
-
-
}
- }
注意:[RemoteClass(alias="com.test.User")]用于对应User.java,这个类中的字段类型、名称必须与User.java保持一致。
运行:
得到如下界面:
输入信息:
点击请求按钮:
分享到:
相关推荐
在本例中,我们探讨的是如何将前台Flex中输入的用户名和密码封装成一个值对象(Value Object, VO),并将其传递给后端Java服务进行处理。这种模式可以有效地提高代码的复用性和维护性,并简化前后端之间的通信过程。...
这个控制器会接收到Flex传递过来的登录信息,然后使用JDBC(Java Database Connectivity)API与MySQL数据库进行交互。通过预编译的SQL语句防止SQL注入,并执行查询以验证用户名和密码的正确性。 4. 数据库交互:在...
标题“flex blazeds 传递对象实例”暗示我们将讨论如何通过BlazeDS在Flex客户端和Java服务器之间传递Java对象实例。AMF是一种高效的数据序列化格式,它可以将Java对象转换为二进制流,然后在网络上传输,到达客户端...
Flex+BlazeDS+Java发布/订阅聊天程序是一种基于Adobe Flex前端、BlazeDS作为中间件、Java作为后端服务的实时通信解决方案。这个程序利用了发布/订阅(Publish/Subscribe)模式,允许用户实时地收发消息,类似于即时...
Flex可以通过SOAP(简单对象访问协议)或AMF(动作消息格式)来调用Web服务。SOAP是一种基于XML的通信协议,用于在分布式环境中交换结构化和类型化的信息,而AMF是Flash Player和服务器之间的一种高效二进制数据...
2. Remoting:通过HTTP或HTTPS协议,实现远程方法调用,使得Flex客户端可以直接操作Java对象。 3. Messaging:支持发布/订阅模型的消息传递,允许异步通信和事件驱动的应用设计。 4. Channel Set和Proxy:自定义通信...
LCDS提供了许多高级功能,如Java对象到Flex对象的映射,RTMP协议支持,代理服务,以及服务端PDF生成等。虽然LCDS是收费产品,但免费版本也能满足基本需求。除此之外,还有其他数据服务解决方案,如AMFPHP,它们提供...
BlazeDS是免费开源的解决方案,它提供了一套基于AMF(Action Message Format)的数据传输协议,能够高效地在Flex和Java之间传递数据。LCDS是更高级的商业产品,包含BlazeDS的功能并扩展了更多企业级特性,如实时推送...
BlazeDS是一个开放源代码的服务器端Java远程处理和Web消息传递技术,它允许开发者轻松地将Flex和AIR应用程序连接到后端服务器上运行的Java对象。通过BlazeDS,开发者可以: - 实现客户端与服务器之间的实时通信。 -...
它允许Flex客户端直接调用Java类方法,实现远程对象(RemoteObject)通信,提供实时消息传递协议(RTMP)支持,以及代理服务和服务器端PDF生成。LCDS虽然不是免费软件,但单CPU版本可以免费试用。 **3. Java简述** ...
4. **AMF通信**:AMF是一种二进制协议,能快速地在Flex和Java之间传递复杂的数据结构,如对象、数组和XML。在BlazeDS中,`flex.messaging.MessageBroker`是负责处理AMF请求的核心组件。 5. **安全性与优化**:通信...
Java是一种广泛使用的面向对象的编程语言,常用于构建服务器端应用。JMS(Java Message Service)是Java平台中用于企业级消息传递的标准API,它提供了异步通信的能力,使得不同系统间可以可靠地交换消息。 本实例...
它包含了一个AMF通道,使得Java对象可以直接序列化到AMF消息,然后通过HTTP或RTMP(Real-Time Messaging Protocol)发送给Flex应用。 3. **LCDS(LiveCycle Data Services)**:是Adobe提供的一个更全面的企业级...
3. **调用服务**:在Flex中,通过ActionScript方法调用服务器端的服务,传递参数并接收响应。AMF自动处理序列化和反序列化过程。 4. **处理结果**:接收到Java服务返回的数据后,Flex可以更新UI或其他业务逻辑。 5...
BlazeDS是Adobe提供的一个开源工具,它支持Java远程调用(RPC)和Web消息传递,允许Flex客户端与Java服务器之间进行通信。 在Flex和Spring的整合中,关键在于Spring容器管理的Bean如何被Flex客户端访问。Spring社区...
它能够将Java对象映射到Flex对象,包括调用Java类的方法,以及支持RTMP协议。LCDS还包括代理服务、PDF生成等高级特性。虽然LCDS是付费产品,但也有免费版本,不过可能限制了多CPU支持。 Java,作为一种广泛使用的...
8. **使用LocalObject进行本地通信**:在同一个应用程序内部,如果需要在不同模块或组件之间传递大量数据,可以利用LocalObject类进行本地通信,它类似于Java的RMI,但仅限于同一应用程序内。 9. **使用Shared...