Java 将动作组合委托给单独的调用

Java 将动作组合委托给单独的调用,java,playframework-2.0,action,Java,Playframework 2.0,Action,我试图使用游戏中的动作合成来检查每个类方法中的登录用户,我无法找到在没有会话的情况下如何将用户重定向到登录屏幕 这是我的verboseaction.java public class VerboseAction extends play.mvc.Action.Simple { private static final play.Logger.ALogger log = play.Logger.of(VerboseAction.class); public F.Promise&l

我试图使用游戏中的动作合成来检查每个类方法中的登录用户,我无法找到在没有会话的情况下如何将用户重定向到登录屏幕

这是我的verboseaction.java

public class VerboseAction extends play.mvc.Action.Simple {

    private static final play.Logger.ALogger log = play.Logger.of(VerboseAction.class);
    public F.Promise<Result> call(Http.Context ctx) throws Throwable {
        if(ctx.session().get("userEmail")!="" && ctx.session().get("userEmail")!=null)
            return redirect(routes.UserSession.index());
        else
            return delegate.call(ctx);
    }
}
公共类VerboseAction扩展play.mvc.Action.Simple{
私有静态final play.Logger.ALogger log=play.Logger.of(VerboseAction.class);
public F.Promise调用(Http.Context ctx)抛出可丢弃的{
if(ctx.session().get(“userEmail”)!=“”&ctx.session().get(“userEmail”)!=null)
返回重定向(routes.UserSession.index());
其他的
返回委托呼叫(ctx);
}
}
我得到的错误是

错误:不兼容类型:结果无法转换为承诺

因为重定向是一种
结果
类型

我该怎么解决这个问题

任何帮助都将不胜感激。

让它工作起来了

返回F.Promise.pure(重定向(“/index”)

多亏了