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