Dou*_*kem 10 apache-flex data-binding remoting actionscript blazeds
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;
}
}
Run Code Online (Sandbox Code Playgroud)
动作:
[Bindable]
[RemoteClass(alias="sample.UserInfo")]
public class UserInfo
{
public var userName:String=”";
}
Run Code Online (Sandbox Code Playgroud)
在BlazeDS框架中如何实现[RemoteClass],你是否可以覆盖该行为并提供可以绑定到Actionscript [Bindable],[RemoteClass]类的自定义数据绑定远程处理框架(例如,JSON消息传递系统) ?
Dou*_*kem 19
[RemoteClass(alias ="com.example.MyClass")]是一个用于调用flash.net.registerClassAlias()的Flex简写:
public function registerClassAlias(aliasName:String, classObject:Class):void
Run Code Online (Sandbox Code Playgroud)
要在运行时访问这些已注册的别名类(要编写自定义JSON数据序列化框架),您可以调用:
getClassByAlias(aliasName:String):Class查找以前通过调用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;
//...
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
15097 次 |
| 最近记录: |