Исправлено ли ‹ui:include› в JSF 2.2?

Я помню, что в JSF 2.1 <ui:include> был обработчиком тегов, поэтому он оценивался один раз при построении дерева компонентов. Когда атрибут src изменялся перед рендерингом, страница всегда отображалась с использованием предыдущего значения.

<h:form>
  <h:inputText value="#{sessionScope['includedPage']}" />
  <h:commandButton />
</h:form>

<!-- src should be evaluated before applying values to model phase -->
<ui:include src="#{sessionScope['includedPage']}" />

Однако с WildFly приведенный выше пример просто работает, визуализированная страница всегда включает в себя на основе самого последнего значения includePage. Это почему? Или я неправильно помню? Я не нашел ничего в спецификации JSF 2.2 относительно этого изменения...


person illEatYourPuppies    schedule 21.06.2015    source источник
comment
Вы читали это: stackoverflow.com/questions /16170519/ и balusc.blogspot. de/2011/09/ . Ой, подождите, вы использовали bean-компоненты sessionScoped. Хм, тогда я не знаю.   -  person Kukeltje    schedule 21.06.2015
comment
Я знаю, что оценивается время сборки представления. Я ожидаю, что ui:include всегда будет включать предыдущее значение включенной страницы, потому что значения запроса еще не были применены. Но на самом деле он включает на основе нового значения включенной страницы, независимо от того, в какой области я сохраняю значение. Как я вижу это на отображаемой странице.   -  person illEatYourPuppies    schedule 21.06.2015
comment
Я понял все вещи, о которых вы знаете. Но если вы использовали bean-компоненты Viewscoped, одно изменилось. Это то, что указано в ссылках. Но вы используете sessionscoped (вы также использовали 2.1?)   -  person Kukeltje    schedule 21.06.2015
comment
Различные потенциальные предостережения упоминаются в этих связанных вопросах и ответах: как динамически обновлять ajax, включая содержимое с помощью меню навигации "> stackoverflow.com/questions/7108668/ Это приемлемо как дубликат?   -  person BalusC    schedule 22.06.2015
comment
Значит, никогда не было так, чтобы ui:include оценивался только один раз, когда строится дерево просмотра? Восстановление представления происходит до применения значений запроса, так почему же ui:include учитывает самое новое значение «includedPage» в этом примере?   -  person illEatYourPuppies    schedule 22.06.2015