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