0

在我使用 Flex-Blazeds-java 的应用程序中...,在我的 Flex 应用程序端有两个 mxml 文件

  1. 主.mxml
  2. 登录.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...

我想UserVO在 Main.mxml 文件中使用对象,所以我正在使用以下代码..

     public var loginUserVar:Login = new Login();
  protected function afterLoginUser(event:FlexEvent):void
   {
    Alert.show("LoginId ="+loginUserVar.userVO.loginId);        
   }

实际上,我认为这个警报框提供了价值narasimham,但它正在提供null价值。

为什么它给出 Null 值?他们的任何 Scope 是否指定创建变量?

4

2 回答 2

1

handler_success您需要设置的值,userVO1否则它将无法在您的 mxml 文件之外使用。您还需要在afterLoginUserasuserVO1而不是userVO.

于 2012-11-29T12:39:58.490 回答
0

正确的 Ethrbunny 我没有存储 userVO 对象的值,因此它不可用于外部 mxml 文件....

这就是在 Login.mxml 文件中的 Flex(3.5) 应用程序中的方式,我正在添加以下代码...

Application.application.userVO = event.result as UserVO;
//Hear userVO is Object defined in Main.mxml file....
于 2012-11-30T07:33:32.850 回答