| Apache Wicket > Framework Documentation > Reference library > How to do things in Wicket > General Application > Custom WebSession (Storing Objects In Session) |
Extend WebSession and add your custom getters/setters:
public final class MySession extends WebSession { private Object myObject; public PerManSession(Request request) { super(request); } public final Object getMyObject() { return myObject; } public final void setMyObject(Object myObject) { this.myObject = myObject; } // if you use java >= 1.5 you can make use of covariant return types public static MySession get() { return (MySession)Session.get(); } }
In your WebApplication you need to override the "newSession" method and return your session instance:
public final class MyApplication extends WebApplication { ... @Override public final Session newSession(Request request, Response response) { return new MySession(request); } ... }
In your WebPage you can get/set your object:
...
((MySession)Session.get()).setMyObject(myObject);
// or java >= 1.5:
MySession.get().setMyObject(myObject);
...