[ 
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)

Reply via email to