加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

Flex-前段actionScript类与Java类的对应(RemoteObject通信-amf

发布时间:2020-12-15 01:22:02 所属栏目:百科 来源:网络整理
导读:对于一个实体类,没有包含其他自定义类,在Flex前段对应,只需如下: package actionScript.entity{[Bindable][RemoteClass(alias="org.cloud.entity.User")]public class User{public function User(){}public var id:int;public var username:String;publi

对于一个实体类,没有包含其他自定义类,在Flex前段对应,只需如下:

package actionScript.entity
{
	[Bindable]
	[RemoteClass(alias="org.cloud.entity.User")]
	public class User
	{
		public function User()
		{
		}
		public var id:int;
		public var username:String;
		public var password:String;
		public var name:String;
		public var userType:String;
}

org.cloud.entity.User是java端User类的路径。这样定义后,使用RemoteObject获取User类后可以直接转换为actionScript写的User。

但是如果User中含有其他自定义类,如Department,用户所属部门。java端使用Hibernate,反射出的实体类就会含有外键所在类。定义如下,可防止Department为空:

package actionScript.entity
{
	[Bindable]
	[RemoteClass(alias="org.cloud.entity.User")]
	public class User
	{
		public function User()
		{
		}
		public var id:int;
		public var username:String;
		public var password:String;
		public var name:String;
		public var userType:String;
                public var department:Object;
}
在flex端访问user的department属性,方式为:user.department.departmentName类似的即可。

但这样,当往后端存或更新用户时就会出现错误,在java端department属性无法被解析为Department类型。所以为了从根本上避免此麻烦,建议:在java端重新定义一个类来保存需要的实体信息,如UserRecord,它有User的基本信息和departId、departName等部门的信息。前后端通信使用UserRecord,java端的业务逻辑类接受UserRecord,然后转换成User来进行存取。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读