CachingActivityMapper не работает

Я использую шаблон MVP для приложения GWT. У меня есть представление фильтра и результаты поиска. Если критерии поиска изменены, результаты поиска обновляются.

Но выбранные критерии теряются при обновлении браузера. Поэтому я хочу сохранить критерии поиска и попытался использовать CachingActivityMapper в моем onModuleLoad()

 CachingActivityMapper cached = new CachingActivityMapper(new AppActivityMapper(clientFactory));
 FilteredActivityMapper.Filter filter = new FilteredActivityMapper.Filter() {
      @Override
      public Place filter(Place place) {
        return place;
      }
    };

 final ActivityManager activityManager = new ActivityManager(activityMapper,
            eventBus);      
 activityManager.setDisplay(filterDisplayView);

Но я не вижу никакой разницы.

Пожалуйста, расскажите, что пошло не так в моем коде.

Благодарю.

2 ответа

В документах для CachingActivityMapper нет ничего, что указывало бы на то, что он может хранить что-либо между перезагрузками страницы. Здесь не ваш код, а предположение, что CachingActivityMapper устойчив к перезагрузке - это не так. Перезагрузка страницы означает перезагрузку вашего приложения и потерю всего его состояния во время выполнения, включая все, что CachingActivityMapper возможно, кешируется.

Посмотрите на это для реализации локального хранилища. Это может решить вашу проблему.

Другие вопросы по тегам