2015-02-10 64 views
0

我正在使用Apache wicket创建我的第一个应用程序,并且遇到了问题。在用户通过身份验证方法登录后,我有一个为该用户创建的新会话。现在,如果我想为该用户存储数据,那么我如何使用bean来实现?每个检票口会话的新豆

目前我创建了一个接口和一个类的get和set方法的变量,我想存储和创建一个bean,如<bean id="springApplicationContext" class="com..util.SpringApplicationContext"/>,但会发生什么是数据被覆盖,但当我将范围更改为“会话”每个人仍然拥有相同的数据。

谢谢

回答

2

正确的方法是使用Session范围的Spring bean。如果数据对所有用户都可见,那么在配置中必须有一些错误。 使用Spring与Wicket无关!

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

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

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

+0

大概应该是'MySession.get()()setSome的getBean(事);如图所示'的代码。 – 2015-02-12 11:42:46

+0

谢谢,唐!我改进了示例代码。 – 2015-02-12 13:02:29