You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tapestry.apache.org by "Robert Zeigler (JIRA)" <ji...@apache.org> on 2009/05/09 07:02:46 UTC

[jira] Resolved: (TAP5-689) fatal error when parse tml file

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

Robert Zeigler resolved TAP5-689.
---------------------------------

    Resolution: Invalid
      Assignee: Robert Zeigler

Tapestry templates must be valid xml.  Your template includes the & character in the link to the javascript source, which is invalid xml.  The parser is expecting there to be an entity.  You can demonstrate that this is the case yourself by changing the template extension to .xml and opening the file directly in firefox: it will choke trying to parse your file at exactly the same place, for exactly the same reason.

To accomplish your objective, you should:
   1) Inject RenderSupport into your page or component
   2) Use the "addScriptLink(String...url)" method of the injected RenderSupport object to add your script.



> fatal error when parse tml file
> -------------------------------
>
>                 Key: TAP5-689
>                 URL: https://issues.apache.org/jira/browse/TAP5-689
>             Project: Tapestry 5
>          Issue Type: Question
>    Affects Versions: 5.0.18
>            Reporter: zebracmz
>            Assignee: Robert Zeigler
>            Priority: Blocker
>
> This is my index.tml file:
> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
> <html xmlns:t="http://tapestry.apache.org/schema/tapestry_5_0_0.xsd">
> <head>
> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
> <title>life</title>
> <link rel="stylesheet" href="css/index.css" type="text/css" />
> <script type="text/javascript" src="http://union.mapbar.com/apis/maps/free?f=mapi&v=31  
>                                         &k=aCW9cItqL7sqT7AxaB0zdIt5MIlrEeJ9OYJrEeFhMYDsMeM  
>                                         zZYF5NRMh@arMIO99M7FhMtsMDadIdsJITrMrerMqzFMFMDJh9   
>                                         MIThJrzMJ9YMMxFeqJOJaIaJ7sFFH9="></script>
> <script type="text/javascript">
>         var maplet = null;   
>         function initMap(){   
>             maplet = new Maplet("mapbar");   
>             maplet.centerAndZoom(new MPoint(116.38672,39.90805), 8);   
>             maplet.addControl(new MStandardControl());   
>         }   
> </script>
> </head>
> <body onload="initMap()" >
> ...
> </html>
> And this is the tomcat log:
> [Fatal Error] :8:84: The reference to entity "v" must end with the ';' delimiter.
> 2009-05-09 12:02:58,984 ERROR [org.apache.tapestry5.services.TapestryModule.RequestExceptionHandler] - Processing of request failed with uncaught exception: Failure parsing template context:Index.tml: The reference to entity "v" must end with the ';' delimiter.
> org.apache.tapestry5.ioc.internal.util.TapestryException: Failure parsing template context:Index.tml: The reference to entity "v" must end with the ';' delimiter. [at context:Index.tml, line 8, column 84]
> 	at org.apache.tapestry5.internal.services.TemplateParserImpl.parseTemplate(TemplateParserImpl.java:228)
> 	at $TemplateParser_1212381c400.parseTemplate($TemplateParser_1212381c400.java)
> 	at $TemplateParser_1212381c3ee.parseTemplate($TemplateParser_1212381c3ee.java)
> 	at org.apache.tapestry5.internal.services.ComponentTemplateSourceImpl.parseTemplate(ComponentTemplateSourceImpl.java:137)
> 	at org.apache.tapestry5.internal.services.ComponentTemplateSourceImpl.getTemplate(ComponentTemplateSourceImpl.java:121)
> 	at $ComponentTemplateSource_1212381c3bd.getTemplate($ComponentTemplateSource_1212381c3bd.java)
> 	at org.apache.tapestry5.internal.services.PageLoaderProcessor.loadTemplateForComponent(PageLoaderProcessor.java:430)
> 	at org.apache.tapestry5.internal.services.PageLoaderProcessor.workComponentQueue(PageLoaderProcessor.java:834)
> 	at org.apache.tapestry5.internal.services.PageLoaderProcessor.loadPage(PageLoaderProcessor.java:392)
> 	at org.apache.tapestry5.internal.services.PageLoaderImpl.loadPage(PageLoaderImpl.java:59)
> 	at $PageLoader_1212381c3e8.loadPage($PageLoader_1212381c3e8.java)
> 	at org.apache.tapestry5.internal.services.PagePoolCache.checkout(PagePoolCache.java:210)
> 	at org.apache.tapestry5.internal.services.PagePoolImpl.checkout(PagePoolImpl.java:99)
> 	at $PagePool_1212381c3e7.checkout($PagePool_1212381c3e7.java)
> 	at org.apache.tapestry5.internal.services.RequestPageCacheImpl.get(RequestPageCacheImpl.java:51)
> 	at $RequestPageCache_1212381c3e6.get($RequestPageCache_1212381c3e6.java)
> 	at $RequestPageCache_1212381c3de.get($RequestPageCache_1212381c3de.java)
> 	at org.apache.tapestry5.internal.services.RequestSecurityManagerImpl.checkForInsecureRequest(RequestSecurityManagerImpl.java:59)
> 	at $RequestSecurityManager_1212381c3dd.checkForInsecureRequest($RequestSecurityManager_1212381c3dd.java)
> 	at org.apache.tapestry5.services.TapestryModule$35.handle(TapestryModule.java:1777)
> 	at $PageRenderRequestHandler_1212381c3e1.handle($PageRenderRequestHandler_1212381c3e1.java)
> 	at $PageRenderRequestHandler_1212381c3d4.handle($PageRenderRequestHandler_1212381c3d4.java)
> 	at org.apache.tapestry5.internal.services.PageRenderDispatcher.process(PageRenderDispatcher.java:92)
> 	at org.apache.tapestry5.internal.services.PageRenderDispatcher.dispatch(PageRenderDispatcher.java:81)
> 	at $Dispatcher_1212381c3da.dispatch($Dispatcher_1212381c3da.java)
> 	at $Dispatcher_1212381c3cd.dispatch($Dispatcher_1212381c3cd.java)
> 	at org.apache.tapestry5.services.TapestryModule$17.service(TapestryModule.java:1029)
> 	at org.apache.tapestry5.internal.services.LocalizationFilter.service(LocalizationFilter.java:42)
> 	at $RequestHandler_1212381c3ce.service($RequestHandler_1212381c3ce.java)
> 	at org.apache.tapestry5.internal.services.RequestErrorFilter.service(RequestErrorFilter.java:26)
> 	at $RequestHandler_1212381c3ce.service($RequestHandler_1212381c3ce.java)
> 	at org.apache.tapestry5.services.TapestryModule$3.service(TapestryModule.java:621)
> 	at $RequestHandler_1212381c3ce.service($RequestHandler_1212381c3ce.java)
> 	at org.apache.tapestry5.services.TapestryModule$2.service(TapestryModule.java:611)
> 	at $RequestHandler_1212381c3ce.service($RequestHandler_1212381c3ce.java)
> 	at org.apache.tapestry5.internal.services.StaticFilesFilter.service(StaticFilesFilter.java:85)
> 	at $RequestHandler_1212381c3ce.service($RequestHandler_1212381c3ce.java)
> 	at org.apache.tapestry5.internal.services.CheckForUpdatesFilter$2.invoke(CheckForUpdatesFilter.java:93)
> 	at org.apache.tapestry5.internal.services.CheckForUpdatesFilter$2.invoke(CheckForUpdatesFilter.java:84)
> 	at org.apache.tapestry5.ioc.internal.util.ConcurrentBarrier.withRead(ConcurrentBarrier.java:83)
> 	at org.apache.tapestry5.internal.services.CheckForUpdatesFilter.service(CheckForUpdatesFilter.java:106)
> 	at $RequestHandler_1212381c3ce.service($RequestHandler_1212381c3ce.java)
> 	at $RequestHandler_1212381c3c5.service($RequestHandler_1212381c3c5.java)
> 	at org.apache.tapestry5.services.TapestryModule$16.service(TapestryModule.java:1007)
> 	at org.apache.tapestry5.internal.services.IgnoredPathsFilter.service(IgnoredPathsFilter.java:62)
> 	at $HttpServletRequestFilter_1212381c3c4.service($HttpServletRequestFilter_1212381c3c4.java)
> 	at $HttpServletRequestHandler_1212381c3c6.service($HttpServletRequestHandler_1212381c3c6.java)
> 	at $HttpServletRequestHandler_1212381c3c3.service($HttpServletRequestHandler_1212381c3c3.java)
> 	at org.apache.tapestry5.TapestryFilter.doFilter(TapestryFilter.java:179)
> 	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
> 	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
> 	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
> 	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
> 	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
> 	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
> 	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
> 	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:286)
> 	at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:845)
> 	at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
> 	at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
> 	at java.lang.Thread.run(Unknown Source)
> Caused by: org.xml.sax.SAXParseException: The reference to entity "v" must end with the ';' delimiter.
> 	at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(Unknown Source)
> 	at org.apache.tapestry5.internal.services.TemplateParserImpl.parseTemplate(TemplateParserImpl.java:217)
> 	... 60 more
> anyone help?

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.