gpt4 book ai didi

java - 每个 Wicket 口 session 都有新 bean

转载 作者:行者123 更新时间:2023-12-02 04:59:22 25 4
gpt4 key购买 nike

我正在使用 Apache wicket 创建我的第一个应用程序,但遇到了一个问题。用户通过身份验证方法登录后,我有一个为该用户创建的新 session 。现在,如果我想只为该用户存储数据,我将如何使用 bean 来实现呢?

目前,我创建了一个接口(interface)和一个类,其中包含我想要存储的变量的 get 和 set 方法,并创建了一个 bean,例如 <bean id="springApplicationContext" class="com..util.SpringApplicationContext"/>但发生的情况是数据被覆盖,但是当我将范围更改为“ session ”时,每个人在 bean 中仍然拥有相同的数据。

谢谢

最佳答案

正确的方法是使用 session 范围的 Spring bean。如果数据对所有用户可见,则您的配置中一定存在一些错误。不过,使用 Spring 与 Wicket 无关!

另一种方法是将数据存储在 Wicket 的 Session 类中。重写 MyApplication#newSession() 方法并返回 MySession 类。 MySession 的实例将由 Wicket 作为属性存储在 HTTP session 中。您可以将任何成员字段放入 MySession 中,例如;

public class MySession extends WebSession {
...
private MyBean myBean;
// setter and getter
...
}

然后在您的 Wicket 代码中使用它: MySession.get().getMyBean().setSome(thing);

关于java - 每个 Wicket 口 session 都有新 bean ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28440668/

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