2012-03-14 8 views
3

моя проблема заключается в следующем: у меня есть приложение MVP GWT с таблицей, в которой отображаются наборы данных. Существует несколько сотен наборов данных, поэтому я решил разбить таблицу на 20 результатов. Я загружаю каждую страницу с сервера через службу GWT-RPC, которая получает аргумент pagenumber.GWT MVP обновляет токен истории без изменения активности

Теперь я хочу сделать следующее: я хочу сохранить страницу таблицы, которую пользователь видит в токене истории (так что токен будет чем-то вроде TablePlace: page = 5), но я не хочу создайте новое действие, потому что тогда состояние других элементов (например, есть TreeView), управление работой будет потеряно. В моем случае все элементы TreeView закрываются, а это не то, что я хочу.

Если я не запускаю новые места, пользователь не может использовать кнопку возврата браузера, чтобы вернуться на страницу, которую он посетил раньше.

Спасибо за вашу помощь заранее.

ответ

4

Вы бы выдать нормальныйPlaceControllergoTo перемещаться в другое место, но в вашем ActivityMapper, вы бы вернуть точный экземпляр же Activity, как и раньше. В этом конкретном случае ActivityManager не останавливает/не запускает действие, но вместо этого позволяет ему запускать свою собственную жизнь (даже не сигнализируя, что место изменилось; если вы этого хотите, то перед отправкой его сообщите ActivityMapperActivity).

Вы также можете найти FilteredActivityMapper и CachingActivityMapper, которые полезны для возвращения той же деятельности в несколько разных местах, не возлагая нагрузку на ваш собственный картограф.

+1

Спасибо за вашу помощь. Вот что я сделал: \t \t в моем методе getActivity (Place place) AppActivityMapper Я написал следующее: if (place instanceof AbstractPlace && ((AbstractPlace) place) .isSelfFired()) {return lastActivity; } AbstractPlace - это класс, который я написал уже, и поэтому было довольно легко добавить selffired boolean. Если моя активность создает место для себя, он устанавливает этот атрибут в true, иначе это значение false. – jcvj