如何使用值对象重定向另一个页面

时间:2012-02-19 17:10:50

标签: jquery spring-mvc

我有一个spring 3应用程序,我使用jquery发布ajax请求。现在我想在ajax响应来之后将我的页面重定向到另一个页面。第一页控制器返回Pojo,它将被传递给第二个控制器。我知道如何重定向,但不知道如何将这个PoJo传递给下一个表单控制器

$.ajax({
                    type: "POST",
                    url: "/xxx/xxx/xxx/accept",
                    data: "bId=" + bId+
                    "&minDelTime=" +minDelTime,
                    success: function(response){
                        if(response.errorText == null)  {
                                                //this works fine
                            alert(response.orderId);
//this is where i have to redirect with response as parameter                           
window.location.replace("/xxx/xxx/xxx/confirm/"+response.orderId);

                        }   else    {
                            alert(response.errorText);
                        }                       
                      },

我的下一页控制器 -

@Controller
@RequestMapping("/xxx/xxx/confirm")
public class ConfirmationController {
@RequestMapping(value = "/orderVo", method = RequestMethod.GET)
    public String showOrderConfirmPage(@PathVariable MasterVo orderVo, Model model) {
        LOGGER.info("Entry showOrderConfirmPage()");
        LOGGER.debug("~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ : " + orderVo.toString());
        LOGGER.info("Exit showOrderConfirmPage()");
        return "/xxx/orderConfirmView";
    }
}

但我总是得到错误。有人可以告诉我如何将对象(Pojo)传递给新的页面控制器吗?

更新 -

我尝试了序列化对象 -

success: function(response){
                        if(response.errorText == null)  {
                    $.post("orderVo", response.serialize(), function(data) {
                window.location.replace("/xxx/xxx/xxx/confirm/");
                            });

但是我得到了Uncaught TypeError:Object#没有方法'serialize'

2 个答案:

答案 0 :(得分:1)

为什么不直接重定向?

return "redirect:/xxx/orderConfirmView";

答案 1 :(得分:0)

了解序列化。

您使用的是jQuery吗?有一种简单的方法可以从HTML表单序列化数据。