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

时间:2010-03-30 01:57:31

标签: gwt

我的GWT应用有一个搜索结果,其中orderid列为超链接。点击后,它会打开另一个显示详细信息的标签。

我想在电子邮件

中外部公开此特定功能

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

这样用户可以在登录App后直接进入详细信息页面。在JSP世界中,它非常简单。

在GWT中是否有可能显示详细信息页面的调用不在主GWT模块中(XYZApp.html)

2 个答案:

答案 0 :(得分:1)

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

您可以链接到?orderId=1234

,而不是myapp.com#id=1234;之类的网址参数

转到此网址会触发PlaceRequestEvent您可以使用EventBus *订阅。

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 :(得分:1)

虽然我同意杰森的观点MVP(gwt-presenter是一种实现,但有点像))和GWT很好地融合在一起,我不是gwt-presenter的忠实粉丝(也很复杂)很多,恕我直言)。因此,如果您想为MVP推出自己的“框架”或者只是不想使用MVP(切换到MVP可以是PITA,特别是如果项目很大/很复杂),您可以使用{{ 3}}类,GWT附带:

History.addValueChangeHandler(new ValueChangeHandler<String>() {
    @Override
    public void onValueChange(ValueChangeEvent<String> event) {
        String url = event.getValue();
    }
});