2016-06-03 3 views
0

У меня есть приложение с MainPage с @AuthorizeInstantiation и SignInPage.Правильный способ показать 'AfterSignInMessagePage'

Я хочу показать пользователю сообщение (необязательно) после входа в систему, но до MainPage.

Я подумал об этом, и я думаю, что могу достичь этого, позвонив setReponsePage(AfterSignInMessagePage.class) в конструктор моего MainPage. Это кажется немного грязным, поскольку MainPage строится, но ему не нужно. Другой вариант - сделать setReponsePage(AfterSignInMessagePage.class) в логике SignInPage, но это тоже слишком тесно связано.

Что было бы правильным способом сделать перенаправление?

ответ

1

IMO вам нужна логика в #onSuccessfulLogin()

 if (showMsg) 
     setResponsePage(AfterSignInMessagePage.class) 
    else 
     setResponsePage(MainPage.class) 

AfterSignInMessagePage, вероятно, покажут только в течение нескольких секунд, а затем автоматически перенаправлять MainPage.

Вы также можете использовать throw new RestartResponseException(SomePage.class) вместо setResponsePage(...), если вы не хотите продолжать работу с остальной частью тела метода/конструктора.