GWT-платформа Gatekeeper и вложенные презентаторы - PullRequest
2 голосов
/ 29 сентября 2011

Я хотел бы знать кое-что о привратнике gwtp:

  1. если canReveal() метод возвращает false, что происходит? В моих тестах меня перенаправили на место по умолчанию, я могу изменить его?

  2. с вложенными ведущими, например:

    MenuPresenter - Доступно только для администраторов.

    HomePresenter - Доступно для администраторов и обычных пользователей.

    Когда зарегистрированный пользователь является обычным пользователем, я хочу только «не отображать» ведущего меню, это возможно?

спасибо

Ответы [ 2 ]

3 голосов
/ 30 сентября 2011

1 - "если метод canReveal () возвращает false, что происходит? В моих тестах я был перенаправлен на место по умолчанию, могу ли я его изменить?"

Из GWTP вики :

"Ошибки обработки презентатора - это ошибка, выявленная вашим пользовательским методом Placemanager revealErrorPlace. Если вы не переопределите этот метод, то это ошибка, выявленная вашим revealDefaultPlace методом."

Это реализация по умолчанию revealErrorPlace:

public void revealErrorPlace(String invalidHistoryToken) {
    revealDefaultPlace();
}

Таким образом, вы можете переопределить его в своем пользовательском PlaceManager и добавить больше логики для перенаправления в любое место.


2 - «Когда зарегистрированный пользователь является обычным пользователем, я хочу только« не отображать » ведущий меню, это возможно? "

Вы можете скрыть вид в докладчике так:

@Override
protected void onReset() {
    super.onReset();

    if (!user.getAdmin) {
        getView().asWidget().setVisible(false);
   }
}

(для PopupPresenters вы должны переопределить метод onReveal ())

1 голос
/ 07 октября 2011

Хм, я думаю, что мы должны обновить документацию.

Вы также можете переопределитькарту открытияUnauthorizedPlace, это обеспечит наличие процесса disctinc для обработки ошибок и безопасности.Позволяет открытьUnauthorizedPlace, но выявляетErrorPlace.

...