Я пытаюсь вернуть значения из Java во Flex-интерфейс с помощью BlazeDs.Successful Blazeds подключается при получении значений, которые он показывает [объект Asynvtoken] не получает значения из метода Java.
Мой гибкий код:
<fx:Script>
<![CDATA[
import mx.collections.ArrayCollection;
import mx.controls.Alert;
import mx.rpc.AsyncToken;
import mx.rpc.events.FaultEvent;
import mx.rpc.events.ResultEvent;
public function get_user():void
{
var token:AsyncToken = ro.getOperation('getUser').send();
user_grid.dataProvider = token.toString();
Alert.show(user_grid.dataProvider.toString());
}
private function fault(e:FaultEvent):void
{
Alert.show("code:\n" + e.fault.faultCode + "\n\nMessage:\n" + e.fault.faultString + "\n\nDetail:\n" + e.fault.faultDetail);
}
private function result(e:ResultEvent):void
{
userbtn.visible = false;
lnkbtn.visible = true;
}
]]>
</fx:Script>
<fx:Declarations>
<!-- Place non-visual elements (e.g., services, value objects) here -->
<s:RemoteObject id="ro"
source="com.freelancer.GetUser"
fault="fault(event)"
destination="BlazeDsService">
<s:method name="getUser"
result="result(event)"/>
</s:RemoteObject>
</fx:Declarations>
<mx:DataGrid id="user_grid" x="-1" y="-1" width="705" height="356">
<mx:columns>
<mx:DataGridColumn headerText="Id" dataField="id"/>
<mx:DataGridColumn headerText="Name" dataField="name"/>
<mx:DataGridColumn headerText="Password" dataField="pwd"/>
</mx:columns>
</mx:DataGrid>
<s:Button x="322" y="429" id="userbtn" label="Get User" width="98"
height="23" cornerRadius="10" click="get_user()"/>
<mx:LinkButton x="331" y="429" id="lnkbtn" visible="false" label="Connected Please Wait Loading . . ."/>
Мой код Java:
public class GetUser
{
public static void main(String[] argv)
{
System.out.println("-------- PostgreSQL " +
"JDBC Connection Testing ----------");
getUser();
}
public static List<User> getUser()
{
List<User> ls=new ArrayList<User>();
String host = "test";
String port = "1234";
String dbName = "test";
Connection connection = null;
try
{
connection = DriverManager.getConnection(
"jdbc:postgresql://" + host + ":" + port + "/" + dbName,"user", "user");
System.out.println("Database is connected");
String strSQL = "select * from test";
Statement st = connection.createStatement();
ResultSet rs=st.executeQuery(strSQL);
System.out.println("hi,query executed");
while(rs.next())
{
User user = new User();
user.setId(rs.getInt("id"));
user.setName(rs.getString("name"));
user.setPwd(rs.getString("pwd"));
ls.add(user);
}
}
catch(Exception e)
{
System.out.println();
}
finally
{
try
{
connection.close();
}
catch (Exception ignored)
{
}
}
return ls;
}
}
Пожалуйста, помогите мне, если кто-нибудь знает решение.