You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@wicket.apache.org by "Michal Jirkovsky (Updated) (JIRA)" <ji...@apache.org> on 2012/04/12 13:55:16 UTC

[jira] [Updated] (WICKET-4494) HtmlHandler wrongly handles tags not requiring closed tags if the markup does not have "top" level tag

     [ https://issues.apache.org/jira/browse/WICKET-4494?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Michal Jirkovsky updated WICKET-4494:
-------------------------------------

    Attachment: HtmlHandlerTest.tgz

Quickstart app that demonstrates the problem.
                
> HtmlHandler wrongly handles tags not requiring closed tags if the markup does not have "top" level tag
> ------------------------------------------------------------------------------------------------------
>
>                 Key: WICKET-4494
>                 URL: https://issues.apache.org/jira/browse/WICKET-4494
>             Project: Wicket
>          Issue Type: Bug
>          Components: wicket
>    Affects Versions: 1.5.5
>            Reporter: Michal Jirkovsky
>         Attachments: HtmlHandlerTest.tgz
>
>
> Hi, 
> I have custom component (extends MarkupContainer implements IMarkupCacheKeyProvider, IMarkupResourceStreamProvider) which fetches its HTML markup from database. 
> Following HTML markup: 
> <img alt="" src="img/supplier/supplier1.png"> 
> <br>Some text 
> <br>Some more text 
> causes following error: 
> 2012-04-12 10:52:53,012 [http-8080-6] ERROR: Unexpected error occurred 
> Unable to find close tag for: '<img alt="" src="img/supplier/supplier1.png">' in org.apache.wicket.util.resource.StringBufferResourceStream@3d7e16fc 
>  MarkupStream: [unknown] 
>         at org.apache.wicket.markup.MarkupFragment.<init>(MarkupFragment.java:127) 
>         at org.apache.wicket.markup.MarkupStream.getMarkupFragment(MarkupStream.java:485) 
>         at org.apache.wicket.MarkupContainer.autoAdd(MarkupContainer.java:244) 
>         at org.apache.wicket.MarkupContainer.renderNext(MarkupContainer.java:1421) 
>         at org.apache.wicket.MarkupContainer.renderAll(MarkupContainer.java:1596) 
>         at org.apache.wicket.MarkupContainer.renderComponentTagBody(MarkupContainer.java:1571) 
>         at org.apache.wicket.MarkupContainer.onComponentTagBody(MarkupContainer.java:1525) 
> I think the problem is that org.apache.wicket.markup.parser.filter.HtmlHandler does not handle such markup correctly. It does not call ComponentTag.setHasNoCloseTag(true) for the img tag. Such call is missing in postProcess() method. I think that this problem can be fixed by inserting: 
> top.setHasNoCloseTag(true); 
> after line 80 in HtmlHandler.java file. 
> Michal

--
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