Если #{flightInfoController.flight.number}
является областью запроса, то он должен сохранить точно такой же flight
во время запроса на обработку отправки формы, как это было во время запроса на отображение формы.Это должно происходить в конструкторе (post) компонента.
Если это не вариант, поскольку он зависит от некоторых переменных, основанных на запросе, то лучше всего вместо этого поместить компонент в область представления (яоднако по-прежнему предполагается, что ваш компонент правильно спроектирован, чтобы он не выполнял никаких бизнес-задач / предварительной загрузки в геттеры).
Если помещение компонента в область представления, в свою очередь, не вариант, то вам нужновместо этого передать его как полноценный параметр запроса.Вы можете сделать это с помощью <f:param>
.
<h:commandLink value="BookFlight" action="#{bookSeatController.doLoginOrCC}">
<f:param name="flightNumber" value="#{flightInfoController.flight.number}" />
</h:commandLink>
. Вы можете разрешить JSF установить @ManagedProperty
в BookSeatController
или <f:viewParam>
в текущем представлении.
См.также: