Ganesh,

have you filed an issue on their bug tracker ?

-M

On Tue, Apr 21, 2009 at 9:10 AM, Ganesh <[email protected]> wrote:
> Hi,
>
> When developing the AJAX part of MyFaces 2.0 we encountered 2 locations
> within the jsdoc part of the spec we'd propose for enhancement.
>
> The first is about the hidden inputs for view state: The jsdocs for
> jsf.ajax.response imply that each hidden input receives the id
> "javax.faces.ViewState" which would result in multiple hidden inputs with
> this id in a multi form document. This is how Mojarra is currently working
> things out, but other implementations should get a chance to use a w3c
> conformant approach - the hidden inputs don't need ids at all, but only
> name=javax.faces.ViewState. A comment on this was already posted by Werner
> Punz.
>
> The second is about replacing the body section of a document if the server
> sends the id javax.faces.ViewRoot: The jsdocs for jsf.ajax.response say that
> the impl should >>extract the contents of the <body> element from the
> <update> element's CDATA content and replace the document's <body> section
> with this contents<<. According to this the attributes of the body element
> wouldn't be replaced with the new attributes, which probably isn't the
> intended behaviour. Preserving the attributes can either be achieved by
> copying them or by using contextualRagen/adjacentHTML instead of innerHTML.
>
> Here is a proposal for changing the jsdocs for jsf.ajax.response to enable
> both enhancements mentioned above - please correct the jsdoc for <static>
> jsf.ajax.response(request, context)
> like this:
>
> If an update element is found in the response with the identifier
> javax.faces.ViewRoot:
>
> <update id="javax.faces.ViewRoot">
>   <![CDATA[...]]>
> </update>
>
> Update the entire DOM as follows:
>
>    * Extract the CDATA content and trim the <html> and </html> from the
> CDATA content if it is present.
>
> <<<<<<< (remove the following lines)
>
>    * If the CDATA content contains a <head> element, and the document has a
> <head> section, extract the contents of the <head> element from the <update>
> element's CDATA content and replace the document's <head> section with this
> contents.
>    * If the CDATA content contains a <body> element, and the document has a
> <body> section, extract the contents of the <body> element from the <update>
> element's CDATA content and replace the document's <body> section with this
> contents.
>
> ======= (add the following lines)
>
>    * If the CDATA content contains a <head> element, and the document has a
> <head> section, replace the document's <head> section with the <head>
> section contained within the CDATA content.
>    * If the CDATA content contains a <body> element, and the document has a
> <body> section, replace the document's <body> section with the <body>
> section contained within the CDATA content.
>
>>>>>>>>
>
>    * If the CDATA content does not contain a <body> element, replace the
> document's <body> section with the CDATA contents.
>
> If an update element is found in the response with the identifier
> javax.faces.ViewState:
>
> <update id="javax.faces.ViewState">
>  <![CDATA[...]]>
> </update>
>
> Include this state in the document as follows:
>
>   * Extract this <update> element's CDATA contents from the response.
>
> <<<<<< (remove the following lines)
>
>   * If the document contains an element with the identifier
>     javax.faces.ViewState replace its contents with the CDATA
>     contents.
>   * For each <form> element in the document:
>         o If the <form> element contains an <input> element with
>           the identifier javax.faces.ViewState, replace the
>           <input> element contents with the <update> element's
>           CDATA contents.
>         o If the <form> element does not contain an element with the
>           identifier javax.faces.ViewState, create an <input>
>           element of the type hidden, with the identifier
>           javax.faces.ViewState, set its contents to the <update>
>           element's CDATA contents, and add the <input> element as
>           a child to the <form> element.
>
> ======= (add the following lines)
>
>   * Set the value of all elements within the document with the name
>     javax.faces.ViewState to the CDATA contents
>   * Perform the following optionally, implementations my omit this to
> enhance performance, as it enforces a search within the DOM tree. For each
> <form> element in the document:
>         o If the <form> element does not contain an element with the
>           name javax.faces.ViewState, create an <input> element of
>           the type hidden, with the name javax.faces.ViewState,
>           set its value to the <update> element's CDATA contents,
>           and add the <input> element as a child to the <form>
>           element.
>
>>>>>>>>
>
> Best Regards,
> Ganesh Jung
>
>
>
>



-- 
Matthias Wessendorf

blog: http://matthiaswessendorf.wordpress.com/
sessions: http://www.slideshare.net/mwessendorf
twitter: http://twitter.com/mwessendorf

Reply via email to