案例学习BlazeDS+Spring之五InSync03强类型
InSync03:强类型 一、运行DEMO: 4、在DataGrid中选择一个联系人。 二、理解代码: <local:ContactForm contact="{dg.selectedItem as Contact}" width="70%" height="100%"/> 2、ContactForm.mxml: 该窗体上的控件用于显示contact的信息,contact成员变量用于控件绑定。 [Bindable] public var contact:Contact; 也捕获了远程调用后触发的事件。 <mx:RemoteObject id="ro" destination="contactService" fault="faultHandler(event)" endpoint="http://localhost:8400/spring-flex-testdrive/messagebroker/amf"> 3、Contact.as? 4、Contact.java: 该类位于服务端,Contact要实现Serializable,用于与FLASH中的AS类进行序列化/反序列化。而实现序列化,定义serialVersionUID成员变量即可。 还有各私有属性的get/set公开方法。 5、更新/删除操作 在前台的ContactForm里,ro.update(contact)或ro.remove(contact)后,FLASH里的contact实例会被序列化,然后传送到服务端,进行反序列化后,变成可供JAVA应用操作的JAVA实例。 contactDAO bean的更新和删除方法是: ??? public boolean remove(Contact contact) { ? 三、小结: 在本DEMO中,使用强类型的contact对象。Contact是AS类,它代表org.springframework.flex.samples.contact.Contact Java类。这个映射过程要求AS中定义类时使用标注来定义其对应的远程类,而远程类要实现序列化的接口。 如Contact.as中的[RemoteClass(alias="org.springframework.flex.spring.samples.contact.Contact")] 标注用来指出Contact AS实例发送到服务器被反序列为org.springframework.flex.spring.samples.contact.Contact服务端的Java实例,同样的,从服务器上接收的org.springframework.flex.spring.samples.contact.Contact Java实例将被反序列为Contact AS实例。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |