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

Werner Punz edited comment on MYFACES-4533 at 1/20/23 8:54 AM:
---------------------------------------------------------------

Thanks for the analysis, yes the postback is slightly different, the 
specification is quite unclear on this, in one section of the jsdoc it talks 
about sending the raw jakarta.faces.ViewState always and in a later section 
talks about having to prefix every parameter you send down in the 
namingContainer case.
I thought to have sent the prefixed one and the non prefixed one for now.

The best bet here is to follow Mojarras lead and check what they do in this 
case.


as for the execute, having sent the button id additionally is correct, because 
execute always has to include the originating element. (But I have to double 
check the jsdoc for that, I remember it being there)




was (Author: werpu):
Thanks for the analysis, yes the postback is slightly different, the 
specification is quite unclear on this, in one section of the jsdoc it talks 
about sending the raw jakarta.faces.ViewState always and in a later section 
talks about having to prefix every parameter you send down in the 
namingContainer case.
I thought to have sent the prefixed one and the non prefixed one for now.

The best bet here is to follow Mojarras lead and check what they do in this 
case.


as for the execute, having sent the button id is correct, because execute 
originally was sent as @this which means the originating component, which in 
this case was/is the button.
I have to check whether not sending the button id still exists in the old 
codebase, if yes then it is a bug!

{code:xml}
<h:commandButton id="button" value="submit form and navigate to 
spec790WithNamespacedView.xhtml via Ajax" action="spec790WithNamespacedView">
      <f:ajax execute="@form" render="@this" />
</h:commandButton>
{code}

Here you can see the navigational trigger with the @this 

> 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