Why is Java lying?
Hi,
I'm trying to compile a very simple JSP page on Tomcat 5.5, JDK 1.5
<%@ page import="java.util.*" %>
<%
Object v = new String("b");
session.setAttribute("a", v);
Enumeration e = session.getAttributeNames();
while (e.hasMoreElements()) {
String attr = (String) e.nextElement();
String v1 = session.getAttribute(attr);
String v2 = session.getValue(attr);
out.println("attr: " + attr + " v1:" + v1 + " v2:" +
v2);
} // while
%>
but I'm getting this compile error:
An error occurred at line: 2 in the jsp file: /session_vars.jsp
Generated servlet error:
Type mismatch: cannot convert from Object to String
An error occurred at line: 2 in the jsp file: /session_vars.jsp
Generated servlet error:
Type mismatch: cannot convert from Object to String
org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:512)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:377)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
First off, the line number is incorrect (line 2 is "<%") but more
importantly, I thought String extended Object.
Any thoughts? - Dave