`
smartinvoke
  • 浏览: 106008 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类

smartinvoke入门系列4——Java与Flex传递复杂类型

阅读更多

Flex调用Java方法时,不仅可以传递基本数据类型,而且可以传递自定义复杂的数据类型。在这里我们把这种类型称作Bean Class Type,它的作用类似于J2EE里的Bean Class,只起着组织复杂数据的作用。

eclipse 工具栏上点击

Flex调用Java方法时,不仅可以传递基本数据类型,而且可以传递自定义复杂的数据类型。在这里我们把这种类型称作Bean Class Type,它的作用类似于J2EE里的Bean Class,只起着组织复杂数据的作用。

eclipse 工具栏上点击

 
图标,打开新建对话框,输入如下内容:



 

 

点击完成,eclipse会自动生成cn.First.BeanTest类,内容如下:

package cn.first;

 import cn.smartinvoke.ide.declare.ABeanType;

 @ABeanType

 public class BeanTest{

 public BeanTest() {

 }

}

 

@ABeanType标注告诉eclipse这是一个Bean Class Type,它的修改会同步到First_项目的cn/first/BeanTest.as文件中,以便Flex的调用。在这里BeanTest.as BeanTest.java对应。Flex调用方法时传递的BeanTest.as类型对象会在java端被smartinvoke解析为BeanTest.java类型对象处理,反过来也一样。

 

我们在BeanTest.java 中添加name属性如下:

private String name;

    public String getName() {

        return name;

    }

    public void setName(String name) {

        this.name = name;

    }

打开BeanTest.as你会发现,该name属性也被同步到这里,如下:

private var _name:String;

 public function set name(val:String):void{

   this._name=val;

 }

 public function get name():String{

   return this._name;

 }

 

我们在ServiceTest.java类中添加方法beanTest以便测试BeanTest类。内容如下:

public void beanTest(BeanTest bean){

     System.out.println(bean);

}

 

打开First_项目中的ServiceTest.as文件会发现beanTest方法已被同步到这里,如下:

 

public function beanTest(bean:BeanTest):void{

  this.call('beanTest',arguments);

}

FirstWin.mxml中调用ServiceTest.as类的beanTest方法你会发现Flex传递的BeanTest对象会被传递到Java端。

Bean Class Type类型中不仅可以定义基本的数据类型, 而且可以定义其他的Bean Class Type类型。当然Bean Class Type也可以继承其他的类。

 

 

图标,打开新建对话框,输入如下内容:

 

 

点击完成,eclipse会自动生成cn.First.BeanTest类,内容如下:

package cn.first;

 import cn.smartinvoke.ide.declare.ABeanType;

 @ABeanType

 public class BeanTest{

 public BeanTest() {

 }

}

 

@ABeanType标注告诉eclipse这是一个Bean Class Type,它的修改会同步到First_项目的cn/first/BeanTest.as文件中,以便Flex的调用。在这里BeanTest.as BeanTest.java对应。Flex调用方法时传递的BeanTest.as类型对象会在java端被smartinvoke解析为BeanTest.java类型对象处理,反过来也一样。

 

我们在BeanTest.java 中添加name属性如下:

private String name;

    public String getName() {

        return name;

    }

    public void setName(String name) {

        this.name = name;

    }

打开BeanTest.as你会发现,该name属性也被同步到这里,如下:

private var _name:String;

 public function set name(val:String):void{

   this._name=val;

 }

 public function get name():String{

   return this._name;

 }

 

我们在ServiceTest.java类中添加方法beanTest以便测试BeanTest类。内容如下:

public void beanTest(BeanTest bean){

     System.out.println(bean);

}

 

打开First_项目中的ServiceTest.as文件会发现beanTest方法已被同步到这里,如下:

 

public function beanTest(bean:BeanTest):void{

  this.call('beanTest',arguments);

}

FirstWin.mxml中调用ServiceTest.as类的beanTest方法你会发现Flex传递的BeanTest对象会被传递到Java端。

Bean Class Type类型中不仅可以定义基本的数据类型, 而且可以定义其他的Bean Class Type类型。当然Bean Class Type也可以继承其他的类。

 

注意SmartInvoke在这里只支持基本类型与复杂Bean类型的传递,不介意用户传递Service Class TypeBean Class Type类型,因为这样会增加程序的复杂度

  • 大小: 769 Bytes
  • 大小: 27 KB
分享到:
评论

相关推荐

    通过SmartInvoke运用java与flex轻松构建cs程序.doc

    ### 通过SmartInvoke运用Java与Flex轻松构建CS程序 #### 概述 本文旨在介绍如何利用SmartInvoke技术结合Java和Flex构建高效的客户端-服务器(CS)应用程序。文章着重讲解了SmartInvoke的基础设置、项目创建流程及...

    SmartInvoke库和示例

    《SmartInvoke库与示例详解:Java/C#与Flex的桥梁》 在现代软件开发中,跨平台交互已经成为一个普遍需求。SmartInvoke库正是为了解决这个问题而诞生的,它提供了一种有效的方式,使得Flex界面API能够与Java或C#进行...

    C#与flex交互

    标题中的"C#与Flex交互"指的是在开发过程中,使用C#作为后端处理逻辑,而Flex作为前端用户界面,两者之间进行数据和功能的通信。Flex是一种基于Adobe AIR和Flash Player运行时的开源框架,主要用于构建富互联网应用...

    cn.smartinvoke.ide

    4. **智能调用(Smart Invoke)**:虽然标题中没有明确解释,但"smartinvoke"可能指的是IDE的一种特性,即智能地调用方法或函数,可能包括了代码提示、代码自动生成、上下文感知等功能,以提高开发者的生产力。...

    后勤智能管理系统-.. (2).pdf

    后勤智能管理系统-.. (2).pdf

    Markdown.Monster.v2.0.9.0-CRD.rar

    Markdown.Monster.v2.0.9.0-CRD

    毕业设计-主成分分析算法Python代码.rar

    1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、本项目仅用作交流学习参考,请切勿用于商业用途。

    四川大学期末考试试题(开卷).docx

    四川大学期末考试试题(开卷).docx

    c#入门之实现计算器源码

    c#入门之实现计算器源码

    Python项目-游戏源码-10 植物大战僵尸.zip

    Python课程设计,含有代码注释,新手也可看懂。毕业设计、期末大作业、课程设计、高分必看,下载下来,简单部署,就可以使用。 包含:项目源码、数据库脚本、软件工具等,该项目可以作为毕设、课程设计使用,前后端代码都在里面。 该系统功能完善、界面美观、操作简单、功能齐全、管理便捷,具有很高的实际应用价值。

    基于ssm的期末考试考务管理系统源代码(完整前后端+mysql+说明文档+LW).zip

    主要需求:3个权限 该系统功能模块主要为三部分,即学生模块、教师模块、管理员模块。 学生模块包括:查看考试安排信息(随机安排就行)、学生 缓考在线申请(教师查看)、在线签订承诺书(学生签字); 教师模块包括:查询监考表、考试违纪学生信息录入; 管理员模块包括:考试时间地点管理、 调整排班信息、信息管理等(主要是增删改查) 环境说明: 开发语言:Java 框架:ssm,mybatis JDK版本:JDK1.8 数据库:mysql 5.7 数据库工具:Navicat11 开发软件:eclipse/idea Maven包:Maven3.3 服务器:tomcat7

    springboot-基于SpringBoot的小型民营加油站管理系统.zip

    springboot-基于SpringBoot的小型民营加油站管理系统.zip

    framework-all

    framework_all

    【Ubuntu】【交叉编译】实现跑马灯并以开发板为服务器通过cgi实现远程控制.html

    【Ubuntu】【交叉编译】实现跑马灯并以开发板为服务器通过cgi实现远程控制.html

    基于ssm的学生宿舍管理系统设计与实现源代码(java+jsp+mysql+说明文档+LW).zip

    实现了用户在线选择试题并完成答题,在线查看考核分数。管理员管理常用语句管理、常用语句收藏管理、常用语句留言管理、成语学习管理、成语学习收藏管理、成语学习留言管理、字典管理、论坛管理、基础管理、基础收藏管理、基础留言管理、情景学习管理、情景学习收藏管理、情景学习留言管理、诗词学习管理、诗词学习收藏管理、诗词学习留言管理、用户管理、管理员管理等功能。 项目包含完整前后端源码和数据库文件 环境说明: 开发语言:Java 框架:ssm,mybatis JDK版本:JDK1.8 数据库:mysql 5.7 数据库工具:Navicat11 开发软件:eclipse/idea Maven包:Maven3.3 部署容器:tomcat7

    RTMPOSE rtmpose-m-2xb64-210e-mpii-256x256-A5000

    RTMPOSE rtmpose-m-2xb64-210e-mpii-256x256-A5000

    jdk-17.0.4.1

    jdk-17.0.4.1

    户外广告全球市场研究报告:2023年市场规模约为14121.8亿元

    户外广告全球市场研究报告:2023年市场规模约为14121.8亿元 在数字时代,户外广告作为传统与现代的交汇点,正以独特的魅力吸引着全球广告主的目光。从繁华都市的霓虹灯到偏远乡村的路牌,户外广告无处不在,以其直观、生动的形式,精准触达消费者的生活与出行场景。然而,在激烈的市场竞争中,如何把握市场趋势,实现精准传播,成为广告主面临的一大挑战。 市场概况 近年来,全球广告市场在经济周期动荡中展现出强大的韧性,不断触及新高度。据QYR最新调研,2023年全球广告市场规模已增至约9044.9亿美元,其中户外广告市场占据了一席之地。作为全球广告市场的重要组成部分,中国广告市场规模同样在快速扩张,2023年市场规模约为14121.8亿元,稳居世界前列。户外广告市场更是表现抢眼,2023年全球户外广告市场规模约为547.8亿美元,中国市场规模则达到约820.5亿元,展现出强劲的增长势头。 技术创新与趋势 随着数字化技术的广泛应用,户外广告的形式和内容不断升级,从传统的平面广告到如今的视频广告,再到未来的智能互动广告,户外广告正逐步走向智能化、个性化。视频广告以其音频视觉双重刺激的特点,通过故事情节、

    基于ssm的班主任助理系统的设计与实现+jsp源代码(完整前后端+mysql+说明文档+LW).zip

    学生信息管理: 添加学生信息:录入新学生的信息到系统。 修改学生信息:对现有学生信息进行更新和修改。 请假管理: 新增请假记录:记录学生的请假信息。 审批请假:对学生的请假申请进行审批。 请假统计:对请假记录进行统计分析。 申请假统计:可能是对请假申请的统计,可能包括未批准的请假。 成绩管理: 新增成绩:录入学生的成绩信息。 修改成绩:对学生的成绩进行修改。 删除成绩:从系统中移除学生的成绩记录。 家长信息管理: 新增家长信息:录入家长的联系信息。 修改家长信息:更新家长的联系信息。 删除家长信息:移除家长的联系信息。 学业预警管理: 新增学业预警:对可能存在学业问题的学生设置预警。 修改学业预警:更新学业预警信息。 删除学业预警:移除学业预警。 实习管理: 新增实习信息:录入学生的实习信息。 修改实习信息:更新学生的实习信息。 删除实习信息:移除学生的实习信息。 项目包含完整前后端源码和数据库文件 环境说明: 开发语言:Java 框架:ssm,mybatis JDK版本:JDK1.8 数据库:mysql 5.7 数据库工具:Navicat11...

    基于ssm的学生请假系统+jsp源代码(完整前后端+mysql+说明文档+LW).zip

    系统实现: 老师信息管理:老师信息的查询管理,可以删除老师信息、修改老师信息、新增老师信息。 学生信息管理:学生信息的查询管理,可以删除学生信息、修改学生信息、新增学生信息。 请假信息管理:学生的学院、专业、班级、请假类型进行条件查询,还可以对请假数据进行修改、审批、驳回、删除等功能,学生可以进行申请请假信息操作等等。 留言信息管理:对学生添加的留言信息进行回复功能,只有管理员和老师可以进行回复。 项目包含完整前后端源码和数据库文件 环境说明: 开发语言:Java 框架:ssm,mybatis JDK版本:JDK1.8 数据库:mysql 5.7 数据库工具:Navicat11 开发软件:eclipse/idea Maven包:Maven3.3 服务器:tomcat7

Global site tag (gtag.js) - Google Analytics