JasperException for JSP page using generics
-------------------------------------------
Key: JBWEB-87
URL:
http://jira.jboss.com/jira/browse/JBWEB-87
Project: JBoss Web
Issue Type: Bug
Security Level: Public (Everyone can see)
Environment: Customer submitted using AS 4.2.0.GA and Sun JDK 1.5.0_11. I
verified using AS 4.2.0.GA and AS 4.2.1.GA and Sun JDK 1.6.0_02.
Reporter: David Ward
Assigned To: Mladen Turk
I am submitting this as a JBoss Web bug; not sure if it should have been submitted as an
AS bug instead...
This test.jsp page does not compile in AS 4.2.0 or AS 4.2.1:
<%@page contentType="text/html" import="java.util.*" %>
<html><head><title>test</title></head><body>
<%
Vector<String> v =
(Vector<String>)request.getSession().getAttribute("v");
out.println("v: " + v);
%>
</body></html>
However, it does with a workaround (please see "Workaround Description" below).
I believe that this is a bug since we require a 1.5 JVM for AS 4.2.x.
Here is the error without using the workaround:
15:41:21,960 ERROR [[jsp]] Servlet.service() for servlet jsp threw exception
org.apache.jasper.JasperException: Unable to compile class for JSP:
An error occurred at line: 4 in the jsp file: /test.jsp
The type Vector is not generic; it cannot be parameterized with arguments <String>
1: <%@page contentType="text/html" import="java.util.*" %>
2: <html><head><title>test</title></head><body>
3: <%
4: Vector<String> v =
(Vector<String>)request.getSession().getAttribute("v");
5: out.println("v: " + v);
6: %>
7: </body></html>
An error occurred at line: 4 in the jsp file: /test.jsp
Syntax error, parameterized types are only available if source level is 5.0
1: <%@page contentType="text/html" import="java.util.*" %>
2: <html><head><title>test</title></head><body>
3: <%
4: Vector<String> v =
(Vector<String>)request.getSession().getAttribute("v");
5: out.println("v: " + v);
6: %>
7: </body></html>
An error occurred at line: 4 in the jsp file: /test.jsp
The type Vector is not generic; it cannot be parameterized with arguments <String>
1: <%@page contentType="text/html" import="java.util.*" %>
2: <html><head><title>test</title></head><body>
3: <%
4: Vector<String> v =
(Vector<String>)request.getSession().getAttribute("v");
5: out.println("v: " + v);
6: %>
7: </body></html>
An error occurred at line: 4 in the jsp file: /test.jsp
Syntax error, parameterized types are only available if source level is 5.0
1: <%@page contentType="text/html" import="java.util.*" %>
2: <html><head><title>test</title></head><body>
3: <%
4: Vector<String> v =
(Vector<String>)request.getSession().getAttribute("v");
5: out.println("v: " + v);
6: %>
7: </body></html>
Stacktrace:
at
org.apache.jasper.compiler.DefaultErrorHandler.javacError(DefaultErrorHandler.java:92)
at
org.apache.jasper.compiler.ErrorDispatcher.javacError(ErrorDispatcher.java:330)
at org.apache.jasper.compiler.JDTCompiler.generateClass(JDTCompiler.java:415)
at org.apache.jasper.compiler.Compiler.compile(Compiler.java:308)
at org.apache.jasper.compiler.Compiler.compile(Compiler.java:286)
at org.apache.jasper.compiler.Compiler.compile(Compiler.java:273)
at
org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:566)
at
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:311)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:320)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:266)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at
org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)
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:230)
at
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
at
org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:179)
at
org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:84)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:104)
at
org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:157)
at
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:241)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
at
org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:580)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
at java.lang.Thread.run(Thread.java:619)
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
http://jira.jboss.com/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
http://www.atlassian.com/software/jira