gpt4 book ai didi

java - 根据 Play Framework 2.3中的当前上下文访问 Assets 文件

转载 作者:行者123 更新时间:2023-11-30 03:45:06 28 4
gpt4 key购买 nike

如何根据用户权限返回 Assets 文件。意味着我想根据用户访问级别显示页面。

使用此方法时,当前上下文不可用:

public play.api.mvc.Action<AnyContent> index() {
try {
if (securityService.getCurrentSession(Controller.ctx()) == null) {
return Assets.at("/public", "/main.html", false);
}else
return Assets.at("/public", "/index/index.html", false);
} catch (Exception e) {
return Assets.at("/public", "/index/index.html", false);
}
}

由于此错误:

There is no HTTP Context available from here.

并使用此方法返回资源作为下载文件:

public Result index() {
try {
if (securityService.getCurrentSession(Controller.ctx()) == null) {
return Results.ok(Play.application().getFile("/public/index/index.html"));
}else
return Results.ok(Play.application().getFile("/public/main.html"));
} catch (Exception e) {
return Results.ok(Play.application().getFile("/public/index/index.html"));
}
}

如何根据用户权限显示索引页?

最佳答案

您可以使用 ok(java.io.File, boolean) 代替 ok(java.io.File) 方法其中第二个参数指定结果是内联还是附件。

像这样:

public Result index() {
try {
if (securityService.getCurrentSession(Controller.ctx()) == null) {
return Results.ok(Play.application().getFile("/public/index/index.html"), true);
} else
return Results.ok(Play.application().getFile("/public/main.html"), true);
} catch (Exception e) {
return Results.ok(Play.application().getFile("/public/index/index.html"), true);
}
}

关于java - 根据 Play Framework 2.3中的当前上下文访问 Assets 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25949553/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com