我正在尝试将用户重定向到我的播放项目中的另一个页面。问题是,重定向在一个视图中运行良好,但它在另一个视图中不起作用。
奇怪的是,当我看到控制台时 - 我可以看到系统已经加载了视图(我可以通过设置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(),我试过了)
答案 0 :(得分:0)
这可能是localVariables的一个错误,我之前遇到过类似的问题。即使我重新分配像pageNumber这样的变量,我的模板中也是null
尝试调用“show(mailbox,0)”而不是“show(mailbox,null)”来查看它是否解决了您的问题
答案 1 :(得分:0)
我最终用jquery而不是play redirect命令重定向。我认为这是一个游戏框架中的错误。我可以在firebug中看到响应html但在浏览器屏幕上没有运气。