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
  }
 }

问题是getHomepage之前调用过newSession,我使用 newSession 来确定用户是否是管理员并初始化标志。另外我看到在getHomePage被调用之前被调用了多次newSession。为什么被getHomePage多次调用,为什么getHomePage在之前被调用newSession

谢谢你的帮助

4

0 回答 0