我有两个场景Login.fxml和MainView.fxml,还有两个不同的控制器LoginController.java和MainViewControler.java
在LoginController中,我执行登录和获取JSessionID值并将其存储在对象中的整个过程,如下所示:
loginGateway = loginGateway(gateway);
现在在MainViewController中,我需要使用此对象(loginGateway)来获取JSessionID并向服务器发出其他请求。但是如何在另一个Controller类(MainViewController.java)中访问此对象?
最佳答案
对Passing Parameters JavaFX FXML中的解决方案使用变体。
设置一个同时引用LoginManager
和LoginController
的MainViewController
。
loginManager
使用loginController
创建一个登录屏幕,并将对自身的引用传递给loginController
。 loginController
通知登录loginManager
到sessionID
。 loginManager
可以创建一个MainViewController
,将mainViewController
传递给sessionID
并将场景内容替换为主视图。 这是some sample code的链接,以演示此方法。