Почему переменные доступны в одной части приложения, недоступной в другой части? У меня есть форма со многими вход, таких как:Переменные формы шва
<h:inputText styleClass="text autocomplete" id="eventName"
required="true"
value="#{cvEvent.eventName}"/>
Переменная cvEvent объявлена в классе EventManager как таковой:
@In(required=false,scope=ScopeType.CONVERSATION)
@Out(required=false,scope=ScopeType.CONVERSATION)
private Event cvEvent;
Форма «представляется», как это:
<h:commandLink id="cmdConfirmEvent" styleClass="continue"
action="#{eventManager.confirmNewEvent}">
</h:commandLink>
В этом методе eventManager.confirmedNewEvent я могу получить доступ к переменным cvEvent таким образом:
System.out.println("confirmNewEvent: " + cvEvent.getEventName());
Это все имеет для меня смысл. Я не понимаю, почему это не работает, когда я копирую форму на другую страницу. Я получаю:
WARNING: /home/Test3.xhtml @113,36 value="#{cvEvent.eventName}": Target Unreachable, identifier 'cvEvent' resolved to null
javax.el.PropertyNotFoundException: /home/Test3.xhtml @113,36 value="#{cvEvent.eventName}": Target Unreachable, identifier 'cvEvent' resolved to null
Я не могу понять, почему это происходит, или когда «сфера» переменную cvEvent сконфигурирована. Зачем это работать в одном месте, а не в другом?
Когда вы открываете другую страницу, разговор еще активен? – DaveB
Как проверить, продолжает ли разговор? – user1435866