我有两个场景Login.fxml和MainView.fxml,还有两个不同的控制器LoginController.java和MainViewControler.java

在LoginController中,我执行登录和获取JSessionID值并将其存储在对象中的整个过程,如下所示:

loginGateway = loginGateway(gateway);

现在在MainViewController中,我需要使用此对象(loginGateway)来获取JSessionID并向服务器发出其他请求。但是如何在另一个Controller类(MainViewController.java)中访问此对象?

最佳答案

Passing Parameters JavaFX FXML中的解决方案使用变体。

设置一个同时引用LoginManagerLoginControllerMainViewController

  • loginManager使用loginController创建一个登录屏幕,并将对自身的引用传递给loginController
  • 登录后,loginController通知登录loginManagersessionID
  • 然后,loginManager可以创建一个MainViewController,将mainViewController传递给sessionID并将场景内容替换为主视图。

  • 这是some sample code的链接,以演示此方法。

    09-05 07:48