-----view_cart.jsp-------------------org.apache.jasper.JasperException: /view_cart.jsp(3,0) The value for the useBean class attribute Cast.ProductCart is invalid.
org.apache.jasper.compiler.DefaultErrorHandler.jspError(DefaultErrorHandler.java:40)
org.apache.jasper.compiler.ErrorDispatcher.dispatch(ErrorDispatcher.java:407)
org.apache.jasper.compiler.ErrorDispatcher.jspError(ErrorDispatcher.java:148)
org.apache.jasper.compiler.Generator$GenerateVisitor.visit(Generator.java:1200)
org.apache.jasper.compiler.Node$UseBean.accept(Node.java:1155)
org.apache.jasper.compiler.Node$Nodes.visit(Node.java:2338)
org.apache.jasper.compiler.Node$Visitor.visitBody(Node.java:2388)
org.apache.jasper.compiler.Node$Visitor.visit(Node.java:2394)
org.apache.jasper.compiler.Node$Root.accept(Node.java:489)
org.apache.jasper.compiler.Node$Nodes.visit(Node.java:2338)
org.apache.jasper.compiler.Generator.generate(Generator.java:3374)
org.apache.jasper.compiler.Compiler.generateJava(Compiler.java:210)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:306)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:286)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:273)
org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:566)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:317)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:320)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:266)
javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
org.netbeans.modules.web.monitor.server.MonitorFilter.doFilter(MonitorFilter.java:390)
[/b]
</td><%@ page contentType="text/html; charset=windows-874"%>
<%@ page import="java.sql.*,java.util.*"%>
<jsp:useBean id="cart" class="Cast.ProductCart" scope="session"/>
<%
String [] temp;
if(request.getParameter("cal")!=null){
Enumeration e=cart.getItem();
while(e.hasMoreElements()){
temp=(String[])e.nextElement();
cart.setQuantity(temp[0],request.getParameter(temp[0]));
}
}
if(request.getParameter("buy")!=null){
response.sendRedirect("product.jsp");
}
if(request.getParameter("del")!=null){
String[] b_id=request.getParameterValues("IDMenu");
if(IDMenu!=null){
for(int i=0;i<b_id.length;i++){
cart.removeItem(IDMenu[i]);
}
}
}
if(cart.getItem().hasMoreElements()){
%>
<form method="post" action="view_cart.jsp">
<table width="50%" border="1" align="center" cellspacing="0" bordercolor="black">
<tr>
<td width="5%">เลือก</td>
<td width="18%">รหัสเมนู</td>
<td width="42%">ชื่อรายการอาหาร</td>
<td width="8%">จำนวน</td>
<td width="14%">ราคา/หน่วย</td>
<td width="13%">ราคารวม</td>
</tr>
<%
Enumeration enu=cart.getItem();
float sum=0;
float amount=0;
//นำอาหารที่อยู่ใน bean ออกมาแสดง
while(enu.hasMoreElements()){
temp=(String[])enu.nextElement();
sum=Integer.parseInt(temp[2])*Float.parseFloat(temp[3]);
amount+=sum;
%>
<tr>
<td><input name="IDMenu" type="checkbox" id="IDMenu" value="<%=temp[0]%>"> </td>
<td><%=temp[0]%></td>
<td><%=new String(temp[1])%></td>
<td><input name="<%=temp[0]%>" type="text" value="<%=temp[2]%>" size="3" maxlength="3"></td>
<td><%=temp[3]%></td>
<td><%=sum%></td>
</tr>
<%}%>
<tr>
<td colspan="2"><input name="del" type="submit" value="ยกเลิกที่เลือก"></td>
<td colspan="3" align="right">ราคารวมทั้งหมด</td>
<td><%=amount%></td>
</tr>
<tr>
<td colspan="6"><div align="center">
<input name="cal" type="submit" value=" คำนวณใหม่">
<input name="buy" type="submit" value="เลือกต่อ">
</tr>
</table>
</form>
<%}else{
out.println("<center>ยังไม่มีรายการที่เลือก</center>");
}
%>[/b][/quote]
----------------ProductCart.java-------------------------
เก็บตัว file class ไว้ที่\webapps\Restaurant\WEB-INF\classes\Cartpackage Cart;
import java.util.*;
public class ProductCart {
protected Hashtable items = new Hashtable();
public ProductCart(){
items=new Hashtable();
}
public Enumeration getItem(){
return items.elements();
}
//กำหนดจำนวนสินค้า
public void setQuantity(String IDMenu,String AmountFood){
try{
if(Integer.parseInt(AmountFood)<=0){
AmountFood="1";
}
}catch(NumberFormatException e){AmountFood="1";}
if (items.containsKey(IDMenu)) {
String[] tmpItem = (String[])items.get(IDMenu);
tmpItem[2] =AmountFood;
}
}
//เพิ่มสินค้าที่เลือก
public void addItem(String IDMenu,String NameMenu,int AmountFood,String SellPrice){
String [] item={IDMenu,NameMenu,Integer.toString(AmountFood),SellPrice};
if (items.containsKey(IDMenu)) {
String[] tmpItem = (String[])items.get(IDMenu);
int tmpNum = Integer.parseInt(tmpItem[2]);
AmountFood+= tmpNum;
tmpItem[2] =Integer.toString(AmountFood);
}else {
items.put(IDMenu,item);
}
}
//ลบสินค้าทั้งหมด
public void close(){
items=new Hashtable();
}
//ลบสินค้าที่เลือก
public void removeItem(String IDMenu){
for (int i=0;i<items.size();i++){
if (items.containsKey(IDMenu)) {
items.remove(IDMenu);
}
}
}/*
//หาราคารวมทั้งหมด
public float getTotalCost(){
Enumeration eu=items.elements();
float totalCost=0;
String[] temp;
while(eu.hasMoreElements()){
temp=(String[])eu.nextElement();
totalCost+=(Integer.parseInt(temp[2])*Integer.parseInt(temp[3]));
}return totalCost;
}
public boolean isErrors(){
boolean er=false;
if(!items.isEmpty()){
Enumeration eu=items.elements();
String [] temp;
while(eu.hasMoreElements()){
temp=(String[])eu.nextElement();
if(IDMenu.equals(temp[0]))
{
er=true;
}
}
}return er;
}
*/
}[/b]


Reply With Quote
