С MyFaces CODI я не получаю разные значения windowid на разных вкладках браузера - почему? - PullRequest
0 голосов
/ 24 октября 2011

Я использую MyFaces CODI, потому что он позволяет мне использовать аннотации CDI с ViewAccessScoped - отлично работает для этого.Проблема в том, что я обнаружил, что несколько вкладок браузера, открытых моим приложением, совместно используют один и тот же экземпляр @ ViewAccessScoped компонента EJB.Неловко.Нежелательно.

На моей странице есть что-то вроде этого:

<h:link outcome="dispRecord"
      target="_blank"
      value="Click Here To Open New Window For Record 101" >
   <f:param name="recID" value="101" />
</h:link>
<h:link outcome="dispRecord"
      target="_blank"
      value="Click Here To Open New Window For Record 202" >
   <f:param name="recID" value="202" />
</h:link>
<h:link outcome="dispRecord"
      target="_blank"
      value="Click Here To Open New Window For Record 303" >
   <f:param name="recID" value="303" />
</h:link>

(это действительно делается с помощью итерации, выполняемой компонентом Primefaces p: dataGrid , ноздесь я пытаюсь упростить.)

При нажатии на любую из ссылок браузер откроет новое окно (вкладку), а открываемая веб-страница JSF ссылается на поддержку @ ViewAccessScoped боб.Однако все они получают одинаковый идентификатор окна, который совпадает с основным окном со ссылками в нем.Я предполагаю, что именно поэтому они все получают один и тот же экземпляр компонента поддержки.

Кто-нибудь знает, как это исправить?

1 Ответ

1 голос
/ 24 октября 2011

Это известная проблема браузера. Решение: http://old.nabble.com/-CODI--lazy-windowId-drop-script-p31654496.html

...