在我的应用程序中使用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/

10-09 19:52