Wicket提供一个WebSession类,我们只需要继承WebSession,就可以写我们的Session类。
举例说明:
现在我编写一个MySession类:
public class MySession extends WebSession{
private String message;
public MySession(Request request){
super(request);
}
public static MySession session(){
return (MySession)Session.get();
}
public String get Message () {
return this.message;
}
public void setMessage(String message) {
this. message = message;
}
}
这个类需要注意的地方:
1. 构造方法必须传递一个Request对象。
2. 使用Session的get方法获取这个Session的实例,该实例由容器管理。
3. 在这个类里面定义你想放到Session的变量。
接着,需要覆盖WebApplication里面的newSession方法:
@Override
public MySession newSession(Request request, Response response) {
return new MySession(request);
}
我们这里可以看到,Application会自动给MySession添上Request对象。
注意,Wicket的Session是由Wicket的Application绑定的,因此MySession只会存活在这个WebApplication里面。
好了,最后我们调用下MySession吧:
//////////设置wicket的session值/////////
MySession mySession = (MySession) super.getSession();
mySession.session().setMessage("这里测试wicket的Session功能!!!!");
//////////获取wicket的session值/////////
MySession mySession = (MySession) super.getSession();
String message = mySession.session().getMessage();
分享到:
相关推荐
- **Session类型安全**:Wicket支持强类型的Session管理,避免了类型转换错误等问题。 - **定制工厂**:Wicket允许开发者自定义组件和页面的工厂类,以满足特定的需求。 - **可懒加载的Model**:为了优化性能,...
在请求处理的内部工作机制部分,教程介绍了Application类、请求和响应类、RequestCycle类以及Session类。Wicket通过一个名为RequestCycle的类来处理整个请求的生命周期,从而简化了Web应用的开发。异常处理也是...
Wicket是一款开源的Java Web应用框架,它最初由Geert Bevin在2003年创建。其设计理念是提供一种简单、直观的方式来构建复杂的Web应用程序。Wicket的名称来源于板球运动中的“wicket”,象征着轻巧和速度。 **1.2 ...
然后是`WebApplication InternalInit.txt`,WebApplication是每个Wicket应用的主入口点,它继承自Application类。InternalInit方法通常包含一些内部初始化操作,如注册组件、资源、行为等。通过阅读这部分代码,我们...
- **Session 安全**: 保证 Session 的安全性和有效性。 - **自定义工厂**: 支持自定义组件和模型工厂。 - **懒加载 Model**: 提高应用程序性能。 - **HTML 属性控制**: 通过 Java 代码控制 HTML 属性。 - **类型自动...
- 允许开发者自定义控件的创建过程。 - **1.4.9 可懒加载的Model**: - 数据模型支持延迟加载,优化性能。 - **1.4.10 支持所有基本Html元素的功能**: - 提供对HTML标准元素的支持。 - **1.4.11 通过程序控制Html...