Почему ICEfaces отправляет запрос dispose-window при выгрузке страницы при использовании bean-объекта в области видимости? - PullRequest
0 голосов
/ 24 ноября 2011

в нашем приложении ICEfaces всегда отправляет запрос на удаление окна непосредственно перед переходом на другую страницу JSF.насколько я понимаю, этого не должно происходить, если для org.icefaces.lazyWindowScope задано значение true, и в текущем запросе не задействован ни один компонент в области окна.но это происходит на каждой ссылке и делает наш пользовательский интерфейс менее отзывчивым.но в нашем приложении нет никаких bean-объектов с оконной областью.

- это ошибка в icefaces, которую отправляет запрос dispose при использовании bean-объектов видимости?Можно ли отключить?ViewScope определен в JSF, а не в ICEfaces, он должен работать без этого запроса на удаление, я думаю ...

@ManagedBean(name="viewScopeBean")
@ViewScoped
public class ViewScopeBean {
    public void doSomething(){
        //
    }
}

А вот пример jsf:

<ice:form>
     <ice:commandButton value="doSomething" action="#{viewScopeBean.doSomething}"/>
     <h:link outcome="index" value="Link to same page"/>
</ice:form>

Для воспроизведения сделайте следующееиспользуя приведенный выше код:

  1. открыть сетевую вкладку firebug и активировать опцию постоянства
  2. нажать doSomething-Button
  3. нажать «ссылку на ту же страницу»
  4. => окно dispose будет отправлено перед навигацией

Параметры запроса на удаление:

  • ice.submit.type = ice.dispose.window
  • ice.window = 4guthcbue
  • javax.faces.ViewState = -8138151632882151449% 3A-6709064564386098402

Среда:

  • ICEfaces-EE 2.0.0.GA
  • ICEpush-EE 2.0.0.GA
  • Мохарра 2.1.1
  • JRockit 1.6.0_22
  • Сервер WebLogic 10.3.4.0

Конфигурация ICEfaces:

  • org.icefaces.render.auto: true [по умолчанию]
  • org.icefaces.autoid: true [по умолчанию]
  • org.icefaces.aria.enabled: true [по умолчанию]
  • org.icefaces.blockUIOnSubmit: false [по умолчанию]
  • org.icefaces.compressDOM: false [по умолчанию]
  • org.icefaces.compressResources: true [по умолчанию]
  • org.icefaces.connectionLostRedirectURI: /pages/main.jsf
  • org.icefaces.deltaSubmit: false [по умолчанию]
  • org.icefaces.lazyPush: true [по умолчанию]
  • org.icefaces.sessionExpiredRedirectURI: /pages/main.jsf
  • org.icefaces.standardFormSerialization: false [по умолчанию]
  • org.icefaces.strictSessionTimeout: false [по умолчанию]
  • org.icefaces.windowScopeExpiration = 1000 [по умолчанию]
  • org.icefaces.mandatoryResourceConfiguration: null [по умолчанию]
  • org.icefaces.uniqueResourceURLs: true [по умолчанию]
  • org.icefaces.lazyWindowScope: true [по умолчанию]
  • org.icefaces.disableDefaultErrorPopups: false [по умолчанию]

1 Ответ

0 голосов
/ 27 марта 2012

См. Комментарии и обходные пути выше. Это ошибка в ледяных лицах.

...