Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/341.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java spring mvc:don';登录后不重定向-需要两个模型吗?_Java_Model View Controller_Spring_Modelandview - Fatal编程技术网

Java spring mvc:don';登录后不重定向-需要两个模型吗?

Java spring mvc:don';登录后不重定向-需要两个模型吗?,java,model-view-controller,spring,modelandview,Java,Model View Controller,Spring,Modelandview,我编写了一个wee登录控制器。它有一个onSubmit方法,用于登录用户。如果登录成功,我想在不重定向的情况下显示首页。头版需要其他模型的内容。因为我的LoginController已经有一个LoginModel了,所以它不能也有信息模型 有什么方法可以获取信息模型上的指针吗?或者调用以获取信息控制器的模型和视图?该控制器提供了一个handleRequest方法 我认为这是一个更基本的问题,但如果您需要代码来回答,我会提供它。我不确定是否正确理解您的问题,但是 a、 )您可以在ModelAndV

我编写了一个wee登录控制器。它有一个onSubmit方法,用于登录用户。如果登录成功,我想在不重定向的情况下显示首页。头版需要其他模型的内容。因为我的
LoginController
已经
有一个LoginModel
了,所以它不能也有
信息模型

有什么方法可以获取
信息模型上的指针吗?或者调用以获取
信息控制器的
模型和视图
?该控制器提供了一个
handleRequest
方法


我认为这是一个更基本的问题,但如果您需要代码来回答,我会提供它。

我不确定是否正确理解您的问题,但是

a、 )您可以在ModelAndView对象上添加多个模型。使用:

 modelAndView.addObject("informationModel", informationModelObject);
b、 )如果成功登录,请将视图设置为您的首页视图:

 modelAndView.setView("frontPageView");
要在LoginController上访问InformationController,您可以自动连接它=)


frontPageView将解析为frontPageView.jsp,但随后会显示一个空页面,因为它无法从InformationController访问InformationModel。我不得不从LoginController.doSumbit方法调用InformationController.handleRequest。InformationController为首页生成信息。明白我的意思吗?我想应该是这样的。您将需要调用InformationController的HandlerRequest,因为它可能是您的应用程序中唯一可以为您生成informationModel的部分。好的,但是我如何才能找到InformationController?一些服务器内部转发?谢谢,我发现另一种方法是使用forward:main.app进行successView。这会触发一些服务器实习生重定向,而不会干扰客户端。但是你的解决方案看起来也很不错。哪一个更好?更多的弹簧符合?你可以检查这个问题。
@Autowired
InformationController informationController;

    @RequestMapping( ... ) // assuming you define it here
    public ModelAndView onSubmit(... ) {
      // .. code here

      if (loginsuccess) {
          InformationModel informationModelObject = informationController.handleRequest(...);
           modelAndView.addObject("informationModel", informationModelObject);
          modelAndView.setView("frontPageView");
      }
      else {
         modelAndView.setView("loginFailView");
      }

      return modelAndView;
    }