[ https://issues.apache.org/jira/browse/MYFACES-4267?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16699334#comment-16699334 ]
Bill Lucy commented on MYFACES-4267: ------------------------------------ I spent a little time last week investigating this problem. This behavior is caused by the fix in https://issues.apache.org/jira/browse/MYFACES-4164 I've opened a PR (see comment above) for a potential fix. The inherited transient flag isn't set on the view until after buildView(), so checking isTransient() after buildView() should fix this case. [~antgar9] can you test out the PR for your case? > transient attribute is not inherited from template to final page. > ----------------------------------------------------------------- > > Key: MYFACES-4267 > URL: https://issues.apache.org/jira/browse/MYFACES-4267 > Project: MyFaces Core > Issue Type: Bug > Components: Extension Feature > Affects Versions: 2.3.2 > Reporter: Antgar > Priority: Major > Fix For: 2.3.3, 3.0.0-SNAPSHOT > > > After upgrading from Myfaces 2.2 to 2.3, templated transient views stop to > work, raising "unable to create views" exceptions. > f:view transient attribute defined in a template seems not to be inherited by > the final page correctly. With myfaces 2.2 it worked correctly, but in 2.3, > there is a new check > {code:java} > if (!view.isTransient()) ... > {code} > on FaceletViewDeclarationLanguage line 2128. On page restoring, transient > appears as false. > A workaround is to set transient="true" on the final page too. Other option > is to use a block > {code:java} > <f:metadata><f:view transient="true" /></f:metadata> > {code} > on the final page (f:metadata doc says it shouldn't be used in templates). -- This message was sent by Atlassian JIRA (v7.6.3#76005)