上篇是flex解析java对象,这一片是java解析flex的传递的对象,并加入问候语返回。

在上一篇的基础上,修改一下代码:

User.java代码如下:

  1. packagecom.test;
  2. importjava.io.Serializable;
  3. publicclassUserimplementsSerializable{
  4. privateStringstrName;
  5. privateStringstrAddress;
  6. publicUser(){}
  7. publicStringgetStrName(){
  8. returnstrName;
  9. }
  10. publicvoidsetStrName(StringstrName){
  11. this.strName=strName;
  12. }
  13. publicStringgetStrAddress(){
  14. returnstrAddress;
  15. }
  16. publicvoidsetStrAddress(StringstrAddress){
  17. this.strAddress=strAddress;
  18. }
  19. }

MyFirstFlex.java代码如下:

  1. packagecom.test;
  2. publicclassMyFirstFlex{
  3. publicUsergetUser(Useruser)
  4. {
  5. Useruser1=newUser();
  6. user1.setStrAddress("地址是"+user.getStrAddress());
  7. user1.setStrName("姓名是"+user.getStrName());
  8. returnuser1;
  9. }
  10. }

MyFirstFlex.mxml代码如下:

  1. <?xmlversion="1.0"encoding="utf-8"?>
  2. <mx:Applicationxmlns:mx="http://www.adobe.com/2006/mxml"layout="absolute">
  3. <mx:Script>
  4. <![CDATA[
  5. importmx.rpc.events.ResultEvent;
  6. importmx.controls.Alert;
  7. privatefunctiongetUser():void
  8. {
  9. varuser:User=newUser();
  10. user.strName=txtName.text;
  11. user.strAddress=txtAddress.text;
  12. userRO.getUser(user);
  13. userRO.addEventListener(ResultEvent.RESULT,getROResult);
  14. }
  15. privatefunctiongetROResult(e:ResultEvent):void
  16. {
  17. varuser:Object=e.resultasObject;
  18. if(user!=null)
  19. {
  20. txtName.text=user.strName;
  21. txtAddress.text=user.strAddress;
  22. }
  23. else
  24. {
  25. Alert.show("没有结果!");
  26. }
  27. }
  28. ]]>
  29. </mx:Script>
  30. <mx:RemoteObjectid="userRO"destination="getUser"/>
  31. <mx:Panelx="109"y="65"width="411"height="249"layout="absolute"fontSize="12">
  32. <mx:Labelx="69"y="36"text="姓名"/>
  33. <mx:Labelx="69"y="118"text="地址"/>
  34. <mx:Buttonx="189"y="161"label="请求"id="btnRequest"click="getUser()"/>
  35. <mx:TextInputx="126"y="34"id="txtName"/>
  36. <mx:TextInputx="126"y="116"id="txtAddress"/>
  37. </mx:Panel>
  38. </mx:Application>

User.as代码如下(我暂时放在与MyFirstFlex.mxml同一目录***意,编写完成后确保与编译后的.swf在同一目录):

  1. package
  2. {
  3. [RemoteClass(alias="com.test.User")]
  4. publicclassUser
  5. {
  6. publicvarstrName:String;
  7. publicvarstrAddress:String;
  8. publicfunctionUser()
  9. {
  10. }
  11. }
  12. }

注意:[RemoteClass(alias="com.test.User")]用于对应User.java,这个类中的字段类型、名称必须与User.java保持一致。

运行:

得到如下界面:

flex传递对象给java

输入信息:
flex传递对象给java

点击请求按钮:

flex传递对象给java

相关文章: