在我的应用程序中使用Flex-Blazeds-java ...,在我的Flex应用程序端有两个mxml文件
Main.mxml
Login.mxml
在Main.mxml文件中,有一个名为Login
的按钮,单击此按钮会打开一个名为Login.mxml
的弹出窗口。
在这个文件中,我具有连接Java ...示例代码的身份验证逻辑。
public var userService:UserService = new UserService();
[Bindable] public var userVO1:UserVO = new UserVO();
protected function loginUser(event:MouseEvent):void
{
var rpcAuthenticateUser:AsyncToken = userService.authenticateUser(userid_id.text, password_id.text);//Hear authenticateUser(-,-) is a java method it return UserVO object
rpcAuthenticateUser.addResponder(new mx.rpc.Responder(handler_success, handler_failure));
}
private function handler_failure(event:FaultEvent): void {
Alert.show("in handler_failure :" + event.message);
}
private function handler_success(event:ResultEvent): void {
userVO = event.result as UserVO;
Alert.show("test "+userVO.loginId);
}
听到登录操作完全符合我的数据库逻辑,如果它是ResultEvent,则警报框显示正确的值(例如:loginId为'
narasimham
')...并且一切正常,Login.mxml中没有默认设置Now The Problem Start...
我想在Main.mxml文件中使用
UserVO
对象,因此我正在使用以下代码。 public var loginUserVar:Login = new Login();
protected function afterLoginUser(event:FlexEvent):void
{
Alert.show("LoginId ="+loginUserVar.userVO.loginId);
}
实际上,我认为此“警报”框提供了值
narasimham
,但它提供了null
值。为什么要赋予Null值?它们的任何Scope是否指定创建变量?
最佳答案
在handler_success
中,您需要设置userVO1
的值,否则它将在mxml文件的另一侧不可用。您还需要在afterLoginUser
中将其引用为userVO1
而不是userVO
。
关于java - 如何使java对象在Sub mxml中可见到Flex中的Main mxml文件?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/13622573/