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

如何在Flex ActionScript中使用[RemoteClass]可以将其用于自定义

发布时间:2020-12-15 02:16:55 所属栏目:百科 来源:网络整理
导读:Actionscript支持BlazeDS中使用的[RemoteClass]元数据标签,用于提供数据绑定提示,用于将AMF二进制对象从 Java编组到BlazeDS. 例如: Java的: 包装样品; public class UserInfo{ private String userName; public String getUserName() { return userName; }
Actionscript支持BlazeDS中使用的[RemoteClass]元数据标签,用于提供数据绑定提示,用于将AMF二进制对象从 Java编组到BlazeDS.

例如:

Java的:
包装样品;

public class UserInfo
{
    private String userName;

    public String getUserName()
    {
        return userName;
    }

    public void setUserName(String value)
    {
        userName = value;
    }
}

动作:

[Bindable]
[RemoteClass(alias="sample.UserInfo")]
public class UserInfo
{
    public var userName:String=”";
}

BlazeDS框架中实现的[RemoteClass]是如何实现的,您可以覆盖该行为,并提供可绑定到Actionscript [Bindable],[RemoteClass]类的自定义数据绑定远程处理框架(例如JSON消息传递系统) ?

解决方法

[RemoteClass(alias =“com.example.MyClass”)]是调用 flash.net.registerClassAlias()的Flex简写:
public function registerClassAlias(aliasName:String,classObject:Class):void

要在运行时访问这些注册的别名类(编写一个自定义的JSON数据序列化框架),您可以调用:

getClassByAlias(aliasname的:字符串):类
查找一个以前通过调用registerClassAlias()方法注册别名的类.

对于从AS到Java的传出编码,您需要检索别名的类名,您可以通过调用flash.utils.describeType()并在Actionscript对象的类上使用“reflection”来查询对象的属性,属性和方法.

例如,ObjectCodec.as的以下代码片段似乎通过使用“@”来检索别名属性:

override protected function encodeComplex(o:Object,b:IBinary,context:IContext=null):void
{
        var desc:XML = describeType(o);
        var classAlias:String = desc.@alias;
        //...
}

(编辑:李大同)

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

    推荐文章
      热点阅读