Как предоставить гиперссылку в электронном письме, указывающую на определенный метод в приложении gwt (но не на главной странице) - PullRequest
2 голосов
/ 30 марта 2010

В моем приложении GWT есть результат поиска со столбцом orderid в качестве гиперссылки.При нажатии открывается еще одна вкладка, в которой отображаются подробности.

Я хочу раскрыть эту конкретную функциональность внешне, скажем, по электронной почте

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

, чтобы пользователь могсразу перейдите на страницу сведений после входа в приложение.В мире JSP это было довольно просто.

Возможно ли в GWT, если вызов для отображения страницы с подробностями отсутствует в основном модуле GWT (XYZApp.html)

Ответы [ 2 ]

1 голос
/ 30 марта 2010

Хотя я согласен с Джейсоном в том, что MVP (который gwt-Presenter является реализацией, вроде;)) и GWT хорошо сочетаются, я не большой поклонник gwt-Presenter (усложняет чересчур много, имхо). Так что, если вы хотите развернуть свою собственную «среду» для MVP или просто не хотите использовать MVP (переключение на MVP может быть PITA, особенно если проект большой / сложный), вы можете просто использовать History класс, который поставляется с GWT:

History.addValueChangeHandler(new ValueChangeHandler<String>() {
    @Override
    public void onValueChange(ValueChangeEvent<String> event) {
        String url = event.getValue();
    }
});
1 голос
/ 30 марта 2010

Аналогом состояния, определенного параметром URL в GWT, является Place s, предоставленное проектом gwt-Presenter .

Вместо того, чтобы быть параметром URL, таким как ?orderId=1234, вы можете ссылаться на myapp.com#id=1234;

Переход по этому URL вызовет 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.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...