GWT tokenizer:如何更改URL

时间:2016-02-24 10:13:42

标签: gwt gwt-activities gwt-places

我正在使用活动和场所。

我有一个LoginPlace。

我导航到那个地方时显示的网址最后有这个:

#LoginPlace:login

如何将其更改为#login或其他内容?

我的tokenizer看起来像这样:

public class LoginTokenizer implements PlaceTokenizer<LoginPlace> {

    private LoginPlace loginPlace;

    public LoginTokenizer() {
    }

    @Override
    public LoginPlace getPlace(String token) {
        return new LoginPlace(token);
    }

    @Override
    public String getToken(LoginPlace place) {
        loginPlace = place;
        return loginPlace.getLoginToken();
    }
}

导航到LoginPlace是通过PlaceController完成的:

clientFactory.getPlaceController().goTo(new LoginPlace("login"));

我在哪里可以操作网址格式?

2 个答案:

答案 0 :(得分:1)

映射由PlaceHistoryMapper完成。

您可以使用基于PlaceTokenizer s的GWT生成的实现,但它基于前缀/后缀。 @Prefix允许您配置前缀(否则默认为地方类的名称)。

或者您可以自己实现界面并完全控制该过程。

答案 1 :(得分:0)

  1. 将地方课程从LoginPlace重命名为Login

  2. 传递一个空令牌:

    new LoginPlace("")