Play Framework重定向并不总是有效。错误或我的错?

时间:2012-02-24 15:10:36

标签: javascript playframework

我正在尝试将用户重定向到我的播放项目中的另一个页面。问题是,重定向在一个视图中运行良好,但它在另一个视图中不起作用。

奇怪的是,当我看到控制台时 - 我可以看到系统已经加载了视图(我可以通过设置system.out.println()命令来看到这一点“但我无法在浏览器中看到这种情况观点。

工作代码:

    public static void deleteMessages(boolean[] chbox)
{
    System.out.println("Checkbox count: "+chbox.length);
    String[] referer =Request.current().headers.get("referer").toString().split("/");
    String mailbox = referer[referer.length-2];
    String pageNumber ="/"+ referer[referer.length-1];
    for(int i = 0; i<chbox.length;i++)
    {
    String id=params.getAll("hdnchbox")[i].toString();
    if(mailbox.equals("inbox"))
    {
        MessageInbox m = MessageInbox.findById(Long.parseLong(id));
        m.delete();
    }else
    {
        MessageOutbox m = MessageOutbox.findById(Long.parseLong(id));
        m.delete();
    }

    }
    show(mailbox,Integer.parseInt(pageNumber));
}

不工作代码:

    public static void deleteMessage(Long id, String mailbox)
{
    if(mailbox.toLowerCase().equals("inbox"))
    {
    MessageInbox msg = MessageInbox.findById(id);
    msg.delete();
    }
    else
    {
    MessageOutbox msg = MessageOutbox.findById(id);
    msg.delete();
    }
    System.out.println("Redirect URL: "+"/Messages/"+mailbox);
    String redirectURL = "/Messages/"+mailbox;
    show(mailbox,null);
}

节目无效:

    public static void show(String messageBoxName,Integer pageNumber)
{
    if(pageNumber == null)
    {
        System.out.println("pagenumber null");
        pageNumber = 0;
    }
    List<UserMessage> msgs = messageList(pageNumber,messageBoxName);
    System.out.println("The page has loaded");
    render(pageNumber,msgs,messageBoxName);
}

最奇怪的部分是我可以在系统控制台中看到“页面已加载”消息,但我可以在浏览器窗口中看到它。

这是一个错误,还是我做错了什么?

(将null值传递给show(),我试过了)

2 个答案:

答案 0 :(得分:0)

这可能是localVariables的一个错误,我之前遇到过类似的问题。即使我重新分配像pageNumber这样的变量,我的模板中也是null

尝试调用“show(mailbox,0)”而不是“show(mailbox,null)”来查看它是否解决了您的问题

答案 1 :(得分:0)

我最终用jquery而不是play redirect命令重定向。我认为这是一个游戏框架中的错误。我可以在firebug中看到响应html但在浏览器屏幕上没有运气。