簡體   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