我正在使用 Wicket 1.5 构建一个 Web 应用程序。我需要确定当前登录的用户是管理员还是普通用户,并为每个用户显示不同的页面。
我的代码:
public class HomePage extends WebApplication {
private boolean flag = false;
@Override
protected void init(){do things}
@Override
public Session newSession(Request request, Response response) {
... some calculation ...
return new HomePageWebSession(request);
}
@Override
public Class<? extends WebPage> getHomePage(){
if(flag){
return Admin.class
} else return User.class
}
}
问题是getHomepage
之前调用过newSession
,我使用 newSession 来确定用户是否是管理员并初始化标志。另外我看到在getHomePage
被调用之前被调用了多次newSession
。为什么被getHomePage
多次调用,为什么getHomePage
在之前被调用newSession
?
谢谢你的帮助