1 - 「canReveal() メソッドが false を返す場合、どうなりますか?私のテストでは、デフォルトの場所にリダイレクトされましたが、変更できますか?」
GWTP wikiから:
「プレゼンター処理エラーは、カスタム 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() メソッドをオーバーライドする必要があります)