[
https://issues.apache.org/jira/browse/WICKET-4425?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13212702#comment-13212702
]
Pointbreak commented on WICKET-4425:
------------------------------------
Well actually I did see that, but am still confused. My point is that if there
is a verbatim <script> tag in the template and its code needs to be wrapped
inside "/*<![CDATA[*/", this should be done by the programmer that writes the
<script> tag. NOT as an afterthought by wicket. I don't see why wicket should
help here. (And Wicket did not do that in older versions).
This also applies to the issue you linked. The SCRIPT tag in that issue should
itself contain the wrapping /*<![CDATA[*/ ... /*]]>*/ stuff. Not providing that
is an error in the template, since the template can't be parsed by an XML/XHTML
parser. Of course Wicket should be smart enough that if such a CDATA wrapper
code is available inside contributions in the <wicket:head> section that it
doesn't skip that in the context of e.g. ajax requests. But providing that
wrapping code is part of the job of the template writer. I.e. I would argue
that the the following template code is faulty, and to fix that is the
responsibility of the template programmer:
<wicket:head>
<script>
if (someVariable < 0) {
someVariable = 0;
}
</script>
</wicket:head>
> Wicket 1.5 rewrites template content where it should not
> --------------------------------------------------------
>
> Key: WICKET-4425
> URL: https://issues.apache.org/jira/browse/WICKET-4425
> Project: Wicket
> Issue Type: Bug
> Components: wicket
> Affects Versions: 1.5.4
> Reporter: Pointbreak
> Assignee: Martin Grigorov
> Attachments: WICKET-4425.patch, myproject.zip
>
>
> I have recently upgraded from Wicket 1.4.14 to 1.5.4. One issue that I
> encountered is that <script> tags in panel templates are rewritten by
> Wicket, even when the <script> tags in question have no wicket handlers
> attached to them. I.e. the following panel template (notice that there
> are no wicket:id attributes whatsoever):
> <wicket:panel>
> <script id="template-upload" type="text/x-jquery-tmpl">
> <span>${name}</span>
> </script>
> </wicket:panel>
> Would render in the panel as:
> <script id="template-upload" type="text/x-jquery-tmpl">
> /*<![CDATA[*/
> <span>${name}</span>
> /*]]>*/
> </script>
> Imho this is unwanted behavior that is a regression from the behavior in
> Wicket 1.4.x (or at least 1.4.14). Wicket should not add content to the
> body of the script tags (or any other tags in a template, unless their
> content is provided programmatically), as it does not have the knowledge
> how that affects the functionality of the page. Moreover, the content
> that Wicket adds to these script tags is only correct for Javascript
> (hence incorrect for the scripts in the example as they are not
> javascript). In the above example adding /*, */
> will change the functionality of the script tag. If the "/*<![CDATA[*/"
> part was necessary in the script tags above, they should be added by the
> person that provides the template, not magically added by Wicket.
> I have attached a quickstart that demonstrates the issue. The quickstart has
> a <script id="script1">Some Text</script> element in HomePage.html that (by
> javascript) is shown in an alert box. Because of this bug, the alert will now
> start with "/*<![CDATA[*/", while it should simply show the text. See
> HomePage.html in the provided quickstart.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators:
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira