Как сделать Java объект видимым в Sub mxml в основной файл mxml во Flex?
В моем приложении, использующем 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 is '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
значение.
Почему это дает нулевое значение? Их какой-либо Scope указать для создания переменной?
2 ответа
Исправьте Ethrbunny. Я не храню значение объекта userVO, поэтому он не доступен для файла mxml Out side....
Так в приложении Flex(3.5) в файле Login.mxml я добавляю следующий код...
Application.application.userVO = event.result as UserVO;
//Hear userVO is Object defined in Main.mxml file....
В handler_success
вам нужно установить значение userVO1
в противном случае он не будет доступен от вашего mxml-файла. Вы также должны сослаться на это в afterLoginUser
как userVO1
вместо userVO
,