首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在电子邮件中提供指向gwt app内特定方法的超链接(而不是主页)

问如何在电子邮件中提供指向gwt app内特定方法的超链接(而不是主页)
EN

Stack Overflow用户
提问于 2010-03-30 09:57:31
回答 2查看 200关注 0票数 2

我的GWT应用程序有一个以orderid列作为超链接的搜索结果。单击时,它会打开另一个显示详细信息的选项卡。

我想在外部公开这个特定的功能,比如在电子邮件中

http://www.myapp.com/XYZApp.html?orderid=1234

使用户在登录App后可以直接进入详情页。在JSP世界中,这是非常简单的。

如果显示详细信息页面的调用不在主GWT模块(XYZApp.html)中,那么在GWT中有可能吗?

EN

回答 2

Stack Overflow用户

发布于 2010-03-30 10:38:42

GWT中类似于URL参数定义的状态是由gwt-presenter项目提供的Place。

您可以链接到myapp.com#id=1234;,而不是像?orderId=1234那样作为URL参数

转到此URL将触发一个PlaceRequestEvent,您可以使用EventBus*订阅该URL。

代码语言:javascript
复制
eventBus.addHandler(PlaceRequestEvent.getType(), new PlaceRequestHandler() {
  @Override
  void onPlaceRequest(PlaceRequestEvent event) {
    String id = event.getRequest().getParameter("id", "");
    // show the item with this ID...
  }
});

* EventBus非常棒,无论你是否决定使用Places,你都应该使用它(或类似的东西)。

票数 1
EN

Stack Overflow用户

发布于 2010-03-30 16:18:08

虽然我同意Jason的观点,即MVP ( gwt-presenter是gwt-presenter的一种实现)和GWT可以很好地结合在一起,但我不是gwt-presenter的粉丝(太复杂了,我不喜欢)。因此,如果你想为MVP推出自己的“框架”,或者只是不想使用MVP (切换到MVP可能很麻烦,特别是如果项目很大/复杂),你可以只使用GWT附带的History类:

代码语言:javascript
复制
History.addValueChangeHandler(new ValueChangeHandler<String>() {
    @Override
    public void onValueChange(ValueChangeEvent<String> event) {
        String url = event.getValue();
    }
});
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2542395

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档