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/