[ https://issues.apache.org/jira/browse/MYFACES-4533?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17679083#comment-17679083 ]
Werner Punz edited comment on MYFACES-4533 at 1/20/23 12:30 PM: ---------------------------------------------------------------- I just ran the test against mojarra here is the result {code:json} j_id1:form1=j_id1:form1 j_id1:jakarta.faces.ViewState=5807784481578067120:-3902354252644387665 j_id1:jakarta.faces.source=j_id1:form1:button j_id1:jakarta.faces.partial.event=click j_id1:jakarta.faces.partial.execute=j_id1:form1:button j_id1:form1 j_id1:jakarta.faces.partial.render=j_id1:panel2 j_id1:panel3 j_id1:jakarta.faces.behavior.event=action j_id1:jakarta.faces.partial.ajax=true {code} Ok they basically prefixed everything except for the non standard j_id1:form1=j_id1:form1 (which I had to take in to keep mojarra compatibility with my implementation) So this means... in case of a naming container we really have to prefix everything, and also the execute has the button in its cycle independent of being part of the executes list because it is the source! The question remains as @volosied mentioned that at the encoding stage we do not have the naming container name present. I think this is solvable simply by checkout our ViewState elements. There is no other case where the ViewState element is prefixed, unless it is in a named naming container! was (Author: werpu): I just ran the test against mojarra here is the result {code:json} j_id1:form1=j_id1:form1 j_id1:jakarta.faces.ViewState=5807784481578067120:-3902354252644387665 j_id1:jakarta.faces.source=j_id1:form1:button j_id1:jakarta.faces.partial.event=click j_id1:jakarta.faces.partial.execute=j_id1:form1:button j_id1:form1 j_id1:jakarta.faces.partial.render=j_id1:panel2 j_id1:panel3 j_id1:jakarta.faces.behavior.event=action j_id1:jakarta.faces.partial.ajax=true {code} Ok they basically prefixed everything except for the non standard j_id1:form1=j_id1:form1 (which I had to take in to keep mojarra compatibility with my implementation) So this means... in case of a naming container we really have to prefix everything, and also the execute has the button in its cycle independent of being part of the executes list because it is the source! (So I dont have to change anything there) I will adapt the rest accordingly, it is only about execute etc.. anyway, but we have to change our server side implementation so that they trigger properly on the prefixed naming container parameters!) > TCK: Spec 790: Viewstate input element's name attribute should be prefixed > with naming container id > ----------------------------------------------------------------------------------------------------- > > Key: MYFACES-4533 > URL: https://issues.apache.org/jira/browse/MYFACES-4533 > Project: MyFaces Core > Issue Type: Bug > Affects Versions: 4.0.0-RC2 > Reporter: Volodymyr Siedlecki > Assignee: Werner Punz > Priority: Major > Attachments: image-2023-01-19-08-44-48-874.png, > image-2023-01-19-08-48-12-961.png, namespacedView.war > > > Failing Line: > https://github.com/jakartaee/faces/blob/master/tck/faces23/namespacedView/src/test/java/ee/jakarta/tck/faces/test/javaee8/namespacedView/Spec790WithNamespacedViewIT.java#L15 > 5 > Generated Viewstate: > {code:java} > <input type="hidden" name="jakarta.faces.ViewState" > id="j_id__v_0:jakarta.faces.ViewState:1" > value="NzVhMDlkOGYwNjY1ZWZkODAwMDAwMDAy" autocomplete="off"> > {code} > The test expects the name attribute to be prefixed with `j_id__v_0`. My > understanding is this should only apply when the view root is an instance of > a NamingContainer. > The test app's faces-config has the following configuration: > https://github.com/jakartaee/faces/blob/master/tck/faces23/namespacedView/src/main/webapp/WEB-INF/faces-config.xml#L25-L28 -- This message was sent by Atlassian Jira (v8.20.10#820010)