You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@tomcat.apache.org by Ellis Teer <e_...@yahoo.com> on 2001/08/03 02:17:57 UTC
Jasper compile behavior change?
Question about the JSP engine in Tomcat 4.0b6...
I have a JSP file which compiled and ran under previous non-4.0 versions of
Tomcat. When the container tries to compile JSP files with lines like the
following....
<%= (checkOn)?" bgcolor=\"#99cc99\"":"" %>
Errors are generated which look like the following (slightly edited)...
____________
A Servlet Exception Has Occurred
org.apache.jasper.JasperException: Unable to compile class for JSP
An error occurred at line: 451 in the jsp file: foo/foo.jsp
Generated servlet error:
C:\network\jakarta-tomcat-4.0-b6\work\foo\_0002ffoo_0002ffoo_jsp.java:1039:
Invalid character in input.
out.print( (checkOn)?" bgcolor=\\"#99cc99\\"":"" );
^
at org.apache.jasper.compiler.Compiler.compile(Compiler.java:284)
at org.apache.jasper.servlet.JspServlet.loadJSP(JspServlet.java:526)
at
org.apache.jasper.servlet.JspServlet$JspServletWrapper.loadIfNecessary(JspServlet.java:175)
at
org.apache.jasper.servlet.JspServlet$JspServletWrapper.service(JspServlet.java:187)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:379)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:456)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:247)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:193)
at
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:243)
at
org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:566)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)
at
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:219)
at
org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:566)
at
org.apache.catalina.valves.CertificatesValve.invoke(CertificatesValve.java:246)
at
org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:564)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)
at org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2251)
at
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:164)
at
org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:566)
at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:446)
at
org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:564)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)
at
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:163)
at
org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:566)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)
at
org.apache.catalina.connector.http.HttpProcessor.process(HttpProcessor.java:984)
at
org.apache.catalina.connector.http.HttpProcessor.run(HttpProcessor.java:1074)
at java.lang.Thread.run(Thread.java:484)
________________
It looks like Jasper is escape coding my backslashes. Previously those
backslashes were to escape code the quotes. Is the container supposed to
escape code all \ and " characters when using the <%= %> command? Is this new
bahavior/spec revision/a bug?
-Ellis Teer
__________________________________________________
Do You Yahoo!?
Make international calls for as low as $.04/minute with Yahoo! Messenger
http://phonecard.yahoo.com/