zoukankan      html  css  js  c++  java
  • Flex前段actionScript类与Java类的对应(RemoteObject通信amf)

    对于一个实体类,没有包含其他自定义类,在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来进行存取。

  • 相关阅读:
    分享15款为jQuery Mobile定制的插件
    显​示​器​分​辨​率​调​高​后​黑​屏​的​最​佳​解​决​办​法
    out 和 ref 之间的区别整理
    赋值操作符重载
    最长公共子串
    最长递增子序列
    动态规划
    Eclipse支持Jquery代码提示(JqeuryWTP)
    ubuntu10.04编译内核不显示grub菜单解决
    CSS水平导航条和纵向导航条
  • 原文地址:https://www.cnblogs.com/whuqin/p/4982066.html
Copyright © 2011-2022 走看看