ColdFusion中是否可以这样? 目前我正在使用.Net / Fluor将对象返回给客户端。 在测试中,我喜欢传递表示select语句的字符串以及我希望从我的服务返回的自定义对象。 Fluorine有一个ASObject类,你可以设置var'typeName';这很棒。 我希望在Coldfusion中这是可能的。有谁知道你是否可以用类似的方式设置返回对象的类型。 这对于大型集合尤其有用,因为flash播放器会将它们转换为同名的本地对象,从而节省了对集合的交互以将对象转换为特定的自定义对象。
foreach (DataRow row in ds.Tables[0].Rows)
{
ASObject obj = new ASObject();
foreach (DataColumn col in ds.Tables[0].Columns)
{
obj.Add(col.ColumnName, row[col.ColumnName]);
}
obj.TypeName = pObjType;
al.Add(obj);
}
非常感谢,
答案 0 :(得分:4)
是的,它工作正常,因此您不必使用外部服务器端部件。
ColdFusion组件(CFC)是Class的ColdFusion版本。
ColdFusion的Flash / Flex Remoting Gateway将自动将CFC转换为ActionScript对象。
请记住CF是基于Java的;所以路径和类名称区分大小写。我认为.NET不是那样的。
CFC和ActionScript对象应按相同顺序列出所有属性。在AS3中,您可以将它们定义为公共变量;在CFC中,您应该使用cfproperty标记定义它们。 ActionScript对象应使用RemoteClass元数据标记来指定CFC的绝对位置。 CFC的cfcomponent标记应指定别名属性,该属性是CFC对象的绝对路径位置。
如果服务中的CFC方法返回一个对象; cffunction标记上的返回类型应该是CFC对象的绝对路径。
我希望很多这与你在.NET上做的很相似;只是用不同的语法。我很确定你必须在CFADmin中启用Flex / Flash Remoting才能实现。
CF Docs中的某处应该有CF到Flex数据类型转换图表。
答案 1 :(得分:1)
您还可以使用名为“ type ”的特殊键返回一个结构,其中包含属性所代表的AS类的值,Flex将填充这些对象。
例如
{
id=2,
name=kevin,
__type__=com.company.user
}
(注意'下划线下划线类型下划线下划线',格式化已被剥离)