这就是错误的提示
java.lang.ClassCastException: Item
at jsp_servlet._cart._jspService(_cart.java:130)
at weblogic.servlet.jsp.JspBase.service(JspBase.java:27)
at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletSt
pl.java:263)
at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletSt
pl.java:302)
at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletSt
pl.java:200)
at weblogic.servlet.internal.WebAppServletContext.invokeServlet(WebA
rvletContext.java:2390)
at weblogic.servlet.internal.ServletRequestImpl.execute(ServletReque
pl.java:1959)
at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:137)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:120)
>
java.lang.ClassCastException: Item
at jsp_servlet._cart._jspService(_cart.java:130)
at weblogic.servlet.jsp.JspBase.service(JspBase.java:27)
at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletSt
pl.java:263)
at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletSt
pl.java:302)
at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletSt
pl.java:200)
at weblogic.servlet.internal.WebAppServletContext.invokeServlet(WebA
rvletContext.java:2390)
at weblogic.servlet.internal.ServletRequestImpl.execute(ServletReque
pl.java:1959)
at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:137)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:120)
>
Item current = (Item) elements.nextElement();
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~你每次循环都定义一次Item current,肯定会出错吧
你可以在while外面定义:
Item current=new Item(); //这里定义Item
while(elements.hasMoreElements())
{
current = (Item) elements.nextElement(); //这里不能再定义了
String Price=null;
String bookname=null;
bookname=current.getbookname();
}
试试行不行
我建议你
Object current = elements.nextElement();
System.out.println(current);
看看到底里面放的是什么
Vector items1 = (Vector)session.getAttribute("vector");for (int i = 0; i < items1.size(); i++) {
Item current = (Item) items1.get(i);
String bookname=current.getbookname();
System.out.println(bookname);
}