延迟视图渲染不起作用

时间:2014-03-03 23:50:44

标签: java playframework-2.0 delay

目前正在学习游戏! 2.0,我想在我的主页上添加一个“开头”:当用户第一次连接到主页时,一个开口会显示几秒钟,然后他会自动重定向到真正的主页。在本届会议的剩余时间里,这一开放不会再次出现。

现在这段代码看起来像是:

public class Application extends Controller {

private static ScheduledExecutorService executor = executors.newSingleThreadScheduledExecutor();

public static Result home() {
    boolean introSeen = Cache.get("introSeen") == null ? false : true;
    if(introSeen) {
        System.out.println("Cache good, sending you home !");
        return ok(home.render(Configs.HOME));
        //return redirect("/");
    }
    else {
        Cache.set("introSeen", true, 2*60*60);
        Runnable task = new Runnable(){

            @Override
            public void run() {
                home();
                executor.shutdown();
            }
        };
        executor.schedule(task, 7, TimeUnit.SECONDS);
        return ok(intro.render(Configs.HOME));
    }
}

我添加了println以确保缓存变量注册和延迟任务正常工作,而且确实如此。但由于未知原因,代码

return ok(home.render(Configs.HOME));

无效,介绍视图(简介)停留在屏幕上。

我尝试过用户重定向而不是“ok”,但到目前为止还没有。

感谢您的帮助:)

1 个答案:

答案 0 :(得分:1)

为什么不使用Meta refresh或一些JavaScript技术来做到这一点?

您可以使用会话cookie检查下次用户是否应该看到开始页面或目标页面。

相关问题