wicket从getHomePage创建一个动态返回类

Yo *_* Al 5 session dynamic wicket-1.5

我正在使用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
  }
 }
Run Code Online (Sandbox Code Playgroud)

问题是getHomepage之前调用的newSession,我使用newSession来确定用户是否是Admin并初始化标志.另外我看到getHomePage之前newSession被调用多次.为什么getHomePage称为倍数,为什么getHomePage之前被称为newSession

谢谢你的帮助