You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@tomcat.apache.org by Doug Blackburn <db...@earthlink.net> on 2002/12/10 18:14:23 UTC

JSP: XML vs JSP Syntax: Looks like a bug

The complete code for two very simple jsp's are below. They both do the same
thing, display a value. The problem is that (2) gets an internal error upon
request (error message follows code). (1) works fine.

If I take the for loop out of (2) and set the integer to some value, the
request is processed and the value is displayed correctly. Tomcat does not
seem to be able to handle a for loop in a scriptlet tag, but is able to
handle it in jsp syntax. This looks like a bug.

Since I am new to Tomcat I thought I would send out the email to see if
there is something I have neglected before submitting a bug report.

Any comments would be appreciated.
Thanks
Doug

----------------------------------------------------
(1)JSP SYNTAX
-------------
<%
  int count = 0;
  for (int j = 0; j <= 10; j++) {
    count = j;
  }
%>

<%= "The count is " + count %>

-----------------------------------------------------
(2)XML SYNTAX
-------------
<jsp:root
  xmlns:jsp="http://java.sun.com/JSP/Page"
  version="1.2">

<jsp:directive.page contentType="text/html;charset=ISO-8859-1"/>

<jsp:scriptlet>
  int count = 0;
  for (int j = 0; j <= 10; j++) {
    count = j;
  }
</jsp:scriptlet>

<jsp:text><![CDATA[<th>]]></jsp:text>
<jsp:expression>"The count is " + count</jsp:expression>
<jsp:text><![CDATA[</th>]]></jsp:text>

</jsp:root>

----------------------------------------------------------------------------
---
ERROR MESSAGE
-------------

HTTP Status 500 -

----------------------------------------------------------------------------
----

type Exception report

message

description The server encountered an internal error () that prevented it
from fulfilling this request.

exception

org.apache.jasper.JasperException: Unable to compile class for JSP
	at
org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:4
79)
	at
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:1
84)
	at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:289)
	at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:240)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
	at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Application
FilterChain.java:247)
	at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterCh
ain.java:193)
	at
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.ja
va:260)
	at
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invok
eNext(StandardPipeline.java:643)
	at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
	at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
	at
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.ja
va:191)
	at
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invok
eNext(StandardPipeline.java:643)
	at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
	at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
	at
org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2396)
	at
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:180
)
	at
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invok
eNext(StandardPipeline.java:643)
	at
org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherValve.
java:170)
	at
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invok
eNext(StandardPipeline.java:641)
	at
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:172
)
	at
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invok
eNext(StandardPipeline.java:641)
	at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
	at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
	at
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java
:174)
	at
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invok
eNext(StandardPipeline.java:643)
	at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
	at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
	at org.apache.coyote.tomcat4.CoyoteAdapter.service(CoyoteAdapter.java:223)
	at
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:405)
	at
org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConne
ction(Http11Protocol.java:380)
	at
org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:508)
	at
org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.jav
a:533)
	at java.lang.Thread.run(Thread.java:479)


root cause

java.lang.NullPointerException
	at java.util.Hashtable.get(Hashtable.java:315)
	at
java.util.PropertyResourceBundle.handleGetObject(PropertyResourceBundle.java
:100)
	at java.util.ResourceBundle.getObject(ResourceBundle.java:371)
	at java.util.ResourceBundle.getString(ResourceBundle.java:349)
	at
org.apache.jasper.compiler.ErrorDispatcher.getString(ErrorDispatcher.java:36
4)
	at
org.apache.jasper.compiler.ErrorDispatcher.dispatch(ErrorDispatcher.java:398
)
	at
org.apache.jasper.compiler.ErrorDispatcher.jspError(ErrorDispatcher.java:245
)
	at
org.apache.jasper.compiler.JspDocumentParser.parse(JspDocumentParser.java:16
7)
	at
org.apache.jasper.compiler.ParserController.parse(ParserController.java:193)
	at
org.apache.jasper.compiler.ParserController.parse(ParserController.java:153)
	at org.apache.jasper.compiler.Compiler.generateJava(Compiler.java:219)
	at org.apache.jasper.compiler.Compiler.compile(Compiler.java:323)
	at
org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:4
74)
	at
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:1
84)
	at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:289)
	at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:240)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
	at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Application
FilterChain.java:247)
	at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterCh
ain.java:193)
	at
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.ja
va:260)
	at
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invok
eNext(StandardPipeline.java:643)
	at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
	at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
	at
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.ja
va:191)
	at
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invok
eNext(StandardPipeline.java:643)
	at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
	at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
	at
org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2396)
	at
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:180
)
	at
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invok
eNext(StandardPipeline.java:643)
	at
org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherValve.
java:170)
	at
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invok
eNext(StandardPipeline.java:641)
	at
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:172
)
	at
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invok
eNext(StandardPipeline.java:641)
	at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
	at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
	at
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java
:174)
	at
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invok
eNext(StandardPipeline.java:643)
	at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
	at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
	at org.apache.coyote.tomcat4.CoyoteAdapter.service(CoyoteAdapter.java:223)
	at
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:405)
	at
org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConne
ction(Http11Protocol.java:380)
	at
org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:508)
	at
org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.jav
a:533)
	at java.lang.Thread.run(Thread.java:479)



----------------------------------------------------------------------------
----

Apache Tomcat/4.1.12



--
To unsubscribe, e-mail:   <ma...@jakarta.apache.org>
For additional commands, e-mail: <ma...@jakarta.apache.org>