[richfaces-issues] [JBoss JIRA] (RF-13221) Incorrect XML encoding in AJAX response
Jonáš Trantina (JIRA)
jira-events at lists.jboss.org
Fri Sep 27 08:21:02 EDT 2013
[ https://issues.jboss.org/browse/RF-13221?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12807915#comment-12807915 ]
Jonáš Trantina commented on RF-13221:
-------------------------------------
Vanilla JSF behaves exactly the same. Both issues (XML entity and CDATA) are present.
JSF also displays a dialog message "emptyResponse: An empty response was received from the server. Check server error logs." when reproducing the CDATA issue. Server logs are empty, of course.
> Incorrect XML encoding in AJAX response
> ---------------------------------------
>
> Key: RF-13221
> URL: https://issues.jboss.org/browse/RF-13221
> Project: RichFaces
> Issue Type: Bug
> Security Level: Public(Everyone can see)
> Affects Versions: 4.3.4
> Reporter: Jonáš Trantina
> Labels: waiting_on_user
>
> Consider the following example:
> {noformat}
> <h:form>
> <a4j:commandButton render="@form" value="rerender me"/>
> <script src="path_to_some_script?param=asd&important=param"></script>
> </h:form>
> {noformat}
> when commandButton is clicked, the form is rerendered and the response looks like this:
> {noformat}
> <partial-response><changes><update id="someID"><![CDATA[
> ...
> <script src="path_to_some_script?param=asd&important=param"></script>
> ]]</ ... >
> {noformat}
> But this is wrong. Because script tag is already in CDATA, so there is no need for XML encoding for '&' entity.
> This further causes script loading to fail (performed by jsf.js), whenever parameters are needed (e.g. portal environment),
> because script is downloaded from {noformat}"path_to_some_script?param=asd&important=param" {noformat}
> instead of {noformat}"path_to_some_script?param=asd&important=param"{noformat}.
> Another very similar issue is when CDATA element is present in a re-rendered fragment. Example:
> {noformat}
> <h:form>
> <a4j:commandButton render="@form" value="rerender me"/>
> <style type="text/css">
> /* <![CDATA[ */
> .somecssclass {...}
> /* ]] */
> </style>
> </h:form>
> {noformat}
> The AJAX response then looks like so:
> {noformat}
> <partial-response><changes><update id="someID"><![CDATA[
> ...
> <![CDATA[
> ...
> ]]
> ...
> ]]</ ... >
> {noformat}
> And this is incorrect XML, since CDATA cannot contain ']]', so the response is discarded.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira
More information about the richfaces-issues
mailing list