【发布时间】:2012-08-28 09:21:03
【问题描述】:
我已经开发了java程序,它将接受数据记录(函数参数)并将插入数据库。但是,我不知道如何将参数从flex传递给这个java方法。
【问题讨论】:
标签: java actionscript-3 apache-flex flex4.5
我已经开发了java程序,它将接受数据记录(函数参数)并将插入数据库。但是,我不知道如何将参数从flex传递给这个java方法。
【问题讨论】:
标签: java actionscript-3 apache-flex flex4.5
flex 和 java 之间有不同的通信方式。我建议您查看 BlazeDS 框架。有很多教程可用。
【讨论】:
请阅读Using RemoteObject components
例如:
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark"
xmlns:mx="library://ns.adobe.com/flex/mx" minWidth="955" minHeight="600">
<fx:Declarations>
<mx:RemoteObject
id="userRequest"
destination="ColdFusion"
source="flexapp.returnusers">
<mx:method name="returnRecords" result="returnHandler(event)"
fault="mx.controls.Alert.show(event.fault.faultString)"/>
<mx:method name="insertRecord" result="insertHandler()"
fault="mx.controls.Alert.show(event.fault.faultString)"/>
</mx:RemoteObject>
</fx:Declarations>
<fx:Script>
<![CDATA[
import mx.rpc.events.ResultEvent;
private function returnHandler(e:ResultEvent):void
{
dgUserRequest.dataProvider = e.result;
}
private function insertHandler():void
{
userRequest.returnRecords();
}
private function clickHandler():void
{
userRequest.insertRecord(username.text, emailaddress.text);
}
]]>
</fx:Script>
<mx:Form x="22" y="10" width="300">
<mx:FormItem>
<s:Label text="Username" />
<s:TextInput id="username"/>
</mx:FormItem>
<mx:FormItem>
<s:Label text="Email Address" />
<s:TextInput id="emailaddress"/>
</mx:FormItem>
<s:Button label="Submit" click="clickHandler()"/>
</mx:Form>
<mx:DataGrid id="dgUserRequest" x="22" y="200">
<mx:columns>
<mx:DataGridColumn headerText="User ID" dataField="userid"/>
<mx:DataGridColumn headerText="User Name" dataField="username"/>
</mx:columns>
</mx:DataGrid>
</s:Application>
在返回处理程序中,您收到 e:ResultEvent 并且 e.result 包含远程方法调用的结果。
为
userRequest.returnRecords();
在java端将是
public List<User> returnRecords();
【讨论】: