I remember in JSF 2.1 the <ui:include>
was a taghandler, as such, it was evaluated once when the component tree was built. When the src attribute changed before rendering, the page was always rendered using the previous value.
<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']}" />
However with WildFly, the above example just works, the rendered page always include based on the most recent value of includedPage. Why is that? Or do I remember wrong? I didn't find anything in the JSF 2.2 spec regarding this change...