<%@ page contentType="text/html;charset=GBK" %>
<%@page session="true" import="java.util.*, shop.Mobile,shop.User" %> 
<% 
Vector buylist = (Vector) session.getValue("shopping.shoppingcart");
User user=(User)session.getValue("userInfo");
    if (buylist != null && (buylist.size() > 0)) { 
%> 
<%= user.getName() %>的购物车
<center> 
<table border="0" cellpadding="0" width="100%" bgcolor="#FFFFFF"> 
 <tr> 
 <td><b>型号</b></td> 
 <td><b>价格</b></td> 
 <td><b>数量</b></td> 
 <td></td> 
 </tr> 
 <% 
 for (int index=0; index < buylist.size();index++) { 
 Mobile anOrder = (Mobile) buylist.elementAt(index); 
 %> 
 <tr> 
 <td><b><%= anOrder.getName() %></b></td>
 <td><b><%= anOrder.getPrice() %></b></td>  
 <td><b><%= anOrder.getQuan() %></b></td> 
 <td> 
 <form name="deleteForm" 
action="BuyServlet" 
method="POST"> 
 <input type="submit" value="Delete"> 
 <input type="hidden" name= "delindex" value='<%= index %>'> 
 <input type="hidden" name="action" value="DELETE"> 
 </form> 
 </td> 
</tr> 
<% } %> 
 </table> 
 <p> 
 <form name="checkoutForm" 
action="ShoppingServlet" 
method="POST"> 
<input type="hidden" name="action" value="CHECKOUT"> 
<input type="submit" name="Checkout" value="Checkout"> 
 </form> 
 </center> 
<% } else{%>
<center>购物车是空的<a href="/jsp/main.jsp"><font color="red" size="6">返回</a></font>购物 </center>
<% } %>
<% 
    float total =0; 
    for (int i=0; i< buylist.size();i++) { 
Mobile anOrder = (Mobile) buylist.elementAt(i); 
float aprice= anOrder.getPrice(); 
int qty = anOrder.getQuan(); 
total += (aprice * qty); 
    } 
total += 0.005; 
String amount = new Float(total).toString(); 
int n = amount.indexOf('.'); 
    amount = amount.substring(0,n+3);  
    
    
  %>
  总计:<%= amount %>
 <form action="OrderServlet" method="post">
 <input type="hidden" name="user" value='<%=user.getName() %>'>
 <input type="hidden" name="total" value='<%= amount %>'> 
 <input type="hidden" name="time" value='<%= new Date() %>'>
 <input type="submit" value="提交定单">
 </form>

解决方案 »

  1.   

    HTTP Status 500 - --------------------------------------------------------------------------------type Exception reportmessage description The server encountered an internal error () that prevented it from fulfilling this request.exception org.apache.jasper.JasperException
    org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:373)
    org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:295)
    org.apache.jasper.servlet.JspServlet.service(JspServlet.java:245)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
    root cause java.lang.NullPointerException
    org.apache.jsp.cart_jsp._jspService(org.apache.jsp.cart_jsp:112)
    org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:99)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
    org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:325)
    org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:295)
    org.apache.jasper.servlet.JspServlet.service(JspServlet.java:245)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
    note The full stack trace of the root cause is available in the Apache Tomcat/5.5.7 logs.
    --------------------------------------------------------------------------------Apache Tomcat/5.5.7
      

  2.   

    首先,你从session中取得User和Cart,没有判断它是不是为null就进行了(Vector)和(User)的强制转换,这样是不行的,会出错。你先看看是不是这里的问题。如果不是。那么打开Tomcat下面的work文件夹相对应的工程目录,看一看编译生成的该JSP.java文件的112行,是什么语句。然后再来求助。