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