You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@wicket.apache.org by "Pointbreak (Commented) (JIRA)" <ji...@apache.org> on 2012/02/21 16:42:34 UTC

[jira] [Commented] (WICKET-4425) Wicket 1.5 rewrites template content where it should not

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

Pointbreak commented on WICKET-4425:
------------------------------------

Martin, although your patch would probably solve my issue in this particular case, I don't think it is the correct approach. Imho the content of the <script> tags in this quickstart should not be altered by wicket in any way, even when they contain javascript. Wicket should not try to "correct" what it deems incorrect html in a template. The programmer that provides the template is responsible for that. It would be different if the script elements were attached to a wicket Component (i.e. had a wicket:id) and/or their content was programmatically added to them. But template code should be rendered as-is where not attached to wicket Components. That wicket alters content of html-elements that are not attached to Components a regression from pre 1.5 versions. I don't really understand why wicket would want to do that.
                
> 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