Я пробовал GWTP в течение последних нескольких недель и строил с ним небольшой проект.
Вот вопрос:
I have a grid widget (attached screenshot) which shows a list of data. On selection of a checkbox of a row and clicking on Edit Request
, I get into a detail page. 
Поскольку у меня есть все данные (модель), которые будут показаны на странице подробностей в самом представлении итогового экрана, я не хочу снова извлекать его из базы данных.
Итак, я сделал следующее:
- При выборе и нажатии на запрос редактирования я получаю выбранную модель
- Сделать запрос места на страницу сведений
- Оставьте событие редактирования
и передайте выбранную модель в качестве параметра.
Я понимаю, что делаю это неправильно, потому что, когда я выбираю элемент и нажимаю Edit Request
, страница подробностей пока не получает выделенный элемент. Он просто показывает пустую страницу без заполнения данных (очевидно, потому что место было достигнуто задолго до того, как событие было запущено).
Текущий код:
RequestModel selectedItem = getView().getGrid().getSelectionModel().getSelectedItem();
PlaceRequest placeRequest=new PlaceRequest(NameTokens.initiationedit);
getEventBus().fireEvent(new RequestEditEvent(selectedItem, PHASE_INITIATION));
placeManager.revealPlace(placeRequest);
Personally thought solution : Instead of firing an event, I could make a placerequest with a parameter of the selected item's id
and then override the useManualReveal
and the prepareFromRequest
to fetch data fresh from database.
Но есть ли способ избежать вызова базы данных для ранее существовавших данных.