[ 
https://issues.apache.org/jira/browse/MYFACES-4028?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15148544#comment-15148544
 ] 

Christian Beikov commented on MYFACES-4028:
-------------------------------------------

The main problem seems to be the access to the clientId at view build time in 
the c:if tag of WEB-INF/tags/row.xhtml on line 8 and 14.

I see 4 cases here
* org.apache.myfaces.REFRESH_TRANSIENT_BUILD_ON_PSS_PRESERVE_STATE=false + 
without clientId access => Everything OK
* org.apache.myfaces.REFRESH_TRANSIENT_BUILD_ON_PSS_PRESERVE_STATE=true + 
without clientId access => Everything OK
* org.apache.myfaces.REFRESH_TRANSIENT_BUILD_ON_PSS_PRESERVE_STATE=false + with 
clientId access => First postback seems to do nothing, after that, it works
* org.apache.myfaces.REFRESH_TRANSIENT_BUILD_ON_PSS_PRESERVE_STATE=true+ with 
clientId access => Conversion error because converter is wrongly restored

The cached client id is problematic for both, Mojarra and MyFaces but this 
particular example does not show an erroneous situation for the problem, that 
sub-components don't have the correct id. Still Mojarra can handle both 
situations, with and without the access to the client id at view build time.


> Custom Taglib with composite components and JSTL
> ------------------------------------------------
>
>                 Key: MYFACES-4028
>                 URL: https://issues.apache.org/jira/browse/MYFACES-4028
>             Project: MyFaces Core
>          Issue Type: Bug
>    Affects Versions: 2.1.17, 2.2.9
>            Reporter: Christian Beikov
>            Assignee: Leonardo Uribe
>         Attachments: issue.zip
>
>
> I tested this on Wildfly 10.0.0.CR5 with both, MyFaces 2.1.17 and 2.2.9 but I 
> suppose this issue is not specific to my environment.
> The example project can be found on Github: 
> https://github.com/beikov/myfaces-composite-jstl-issue
> I think the essential problem is, that a composite component passes an EL 
> expression to a custom tag which then uses the expression in a JSTL Tag.
> I don't know if it's just illegal to do something like this, or if there is 
> an actual bug, but if it is the former, I'd expect an exception.
> Depending on whether the property 
> "org.apache.myfaces.REFRESH_TRANSIENT_BUILD_ON_PSS_PRESERVE_STATE" is enabled 
> the behavior is different.
> When enabled, the converter that is attached to the composite component will 
> be considered for state saving which in this case leads to a converter 
> without state when restoring and finally leading to a converter exception on 
> postback.
> When disabled, the first postback request just seems to do nothing, but then, 
> it seemingly works as expected.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to