java - 有没有办法在 play 框架中的拦截器和 Action 之间共享数据?

标签 java playframework

在游戏中! Controller ,我可以创建一个 interceptor method它将在每个请求到达适当的操作之前对其进行处理。

public class Admin extends Application {

    @Before
    static void checkAuthentification() {
        if(session.get("user") == null) login();
        // otherwise,
        User loggedOnUser = User.find("byUsername", session.get("user"));
    }

    public static void index() {
        // any way to access loggedOnUser ?
        List<User> users = User.findAll();
        render(users);
    }
    …
}

有没有办法在拦截器中设置一个值并在操作中访问它?有点像 servlet 中的 request.setAttribute()

最佳答案

您可以使用 Controller 中的 renderArgs 参数(请参阅 here),或者您可以将值存储在缓存中(我们可以假设该值是几毫秒前添加的,您的值将在同一请求中可用)。

关于java - 有没有办法在 play 框架中的拦截器和 Action 之间共享数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7246190/

相关文章:

java - 如何在等待状态下调试Java线程

java - 玩WebSockets服务器推送示例

playframework - 如何提高 Play Framework 2.0 的编译速度

scala - Slick:使用 Rep[Seq[T]] 进行过滤

java - 如何在不使用第三方库的情况下转义java字符串中的unicode字符

java - Spring REST - 验证原始 GET 请求参数

java - Java 中的 For 循环

java - 单击按钮循环浏览 Jlabel 图像时出现 for 循环问题

java - hibernate 异常 : Found two representations of same collection

javascript - 设置要在 Play 中编译的 React 类