繁体   English   中英

每次检票口都有新豆

[英]new bean for every wicket session

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

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

谢谢

正确的方法是使用Session作用域的Spring bean。 如果数据对所有用户可见,则配置中必须存在一些错误。 但是,使用Spring与Wicket无关!

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

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM