Javascript SpringMVC:在AJAX调用中从ModelAndView呈现页面

Javascript SpringMVC:在AJAX调用中从ModelAndView呈现页面,javascript,ajax,spring-mvc,jsp,model-view-controller,Javascript,Ajax,Spring Mvc,Jsp,Model View Controller,我正在使用SpringMVC构建一个项目。我想将JSON对象从当前页面传输到下一个页面。我所做的是创建一个控制器,通过后AJAX调用将对象发送到该控制器。然后,控制器为存储为jsp的下一页创建一个ModelAndView对象,将该对象添加为所述ModelAndView的属性之一,并返回它。现在我需要重定向到作为ModelAndView返回的页面。以下是相关代码: 控制器: public ModelAndView nextPageController(@RequestBody String pas

我正在使用SpringMVC构建一个项目。我想将JSON对象从当前页面传输到下一个页面。我所做的是创建一个控制器,通过后AJAX调用将对象发送到该控制器。然后,控制器为存储为jsp的下一页创建一个ModelAndView对象,将该对象添加为所述ModelAndView的属性之一,并返回它。现在我需要重定向到作为ModelAndView返回的页面。以下是相关代码:

控制器:

public ModelAndView nextPageController(@RequestBody String passedJsonString) {
    ModelAndView nextPage = new ModelAndView("/nextPage.jsp");
    nextPage.addObject("passedJsonString", passedJsonString);
    return nextPage;
}
AJAX调用:

            controllerUrl = "/controller/path";
            $.ajax({
                type : "POST",
                headers : {
                    'Accept' : 'application/json',
                    'Content-Type' : 'application/json'
                },
                url : controllerUrl,
                data : JSON.stringify(jsonDataToBePassed),
                success : function(dataString) {
                    console.log(dataString);
                }
            });

AJAX调用成功执行,ModelAndView对象按预期返回。现在,我需要在控制器中添加的属性保持不变的情况下呈现下一页。我意识到我所做的可能是错误的,并且可能有更好的方法来实现这一点,因此任何关于如何做到这一点的指导都是值得赞赏的

当您对控制器进行ajax调用时,它希望得到一些结果,并在此基础上继续

在您的例子中,响应在控制器成功完成后返回到ajax函数

如果要发送到另一个页面,请在控制器中编写一个方法,并在该控制器方法中返回页面(/nextPage.jsp)

下面是你的代码

success : function(dataString) {
      window.location.href = "/path/of/controllerMethod"; //redirect to controller method which returns the jsp page
}
并创建如下方法:

@RequestMapping(value="/path/of/controllerMethod")
public ModelAndView returnJspPageControllerMethod() {
    ModelAndView nextPage = new ModelAndView("/nextPage.jsp");
    return nextPage;
}