GWT 2.1以降のアプリで、外部消費用の場所へのリンクを生成するにはどうすればよいですか?
たとえば、Place1へのリンクを作成するとします。内部消費のために私はすることができpresenter.goTo(new Place1("token"))
ました。Anchor
これを、ユーザーがブラウザに貼り付けることができる、またはある種のリンクにするにはどうすればよいですか?
これが私がする方法です:
final Place1 place = new Place1("token");
Anchor anchor = new Anchor("go to place 1", "#" + placeHistoryMapper.getToken(place));
anchor.addClickHandler(new ClickHandler() {
public void onClick(ClickEvent event) {
placeController.goTo(place);
event.preventDefault();
}
});
私が GWT を初めて知っている限り、Anchor の代わりに Hyperlink を使用する場合、イベント ハンドラーを記述する必要はありません。それはあなたをその場所にリダイレクトし、履歴を自動的に処理します。
MyView.ui.xml:
<g:InlineHyperlink ui:field="link">Link</g:InlineHyperlink>
MyView.java:
@UiField InlineHyperlink link;
public MyView() {
// ...
link.setTargetHistoryToken(getPlaceHistoryMapper().
getToken(new Place1("token")));
// ...
}
既にトークンを場所にマップしている場合は、href プロパティがトークンに等しいアンカーを作成するだけです。
Anchor anchor = new Anchor("go to place1 ", "token");