⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 buyaction.java

📁 网上商城
💻 JAVA
字号:
package store;
import java.sql.*;
import java.util.*;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import org.apache.struts.action.Action;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.DynaActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;
import org.apache.struts.action.ActionError;
import org.apache.struts.action.ActionErrors;
public class BuyAction extends Action {
public ActionForward execute(
ActionMapping mapping,
ActionForm form,
HttpServletRequest request,
HttpServletResponse response)
throws Exception {
  HttpSession session=request.getSession();
  DynaActionForm tform=(DynaActionForm)form;
  ActionErrors errors=new ActionErrors ();
  ActionError err=null;
  String pid=(String)tform.get("pid");
  int id=Integer.parseInt(pid);
  String qu=(String)tform.get("quantity");
  int quantity=Integer.parseInt(qu);
  Vector vc=null;
  vc=(Vector)session.getAttribute("cart");
  if(vc==null)
    vc=new Vector();
  ProInfo PI=new ProInfo();
  String pageForward="";
  try{
    String sql="SELECT * FROM product WHERE id="+pid;
    DBConn conn = new DBConn();
    ResultSet rs = conn.query(sql);
    if(rs.next()){
       boolean flag=false;
      if (rs.getInt("stock") > quantity) {
        if(vc!=null)
          flag=inCart(vc,id,quantity);
      if(!flag){
            PI.setId(rs.getInt("id"));
            PI.setPname(rs.getString("pname"));
            PI.setProvider(rs.getString("provider"));
            PI.setPrice(rs.getFloat("price"));
            PI.setStock(quantity);
            vc.add(PI);
            pageForward ="ListCart";
      }
      else {
        pageForward = "ListCart";
      }
    }
    else{
      err = new ActionError("error.stock");
      errors.add(ActionErrors.GLOBAL_ERROR, err);
      this.saveErrors(request, errors);
      pageForward="error";
    }
    rs.close();
    conn.DBclose();
    }
  }
  catch(Exception e){
    err= new ActionError ("error.global");
    errors.add(ActionErrors.GLOBAL_ERROR,err);
    this.saveErrors(request,errors);
    pageForward="error";
  }
  session.setAttribute("cart",vc);
  return mapping.findForward(pageForward);
 }
 public boolean inCart(Vector v,int id,int qu){
   boolean  flag=false;
   for(int i=0;i<v.size();i++)
   {
     ProInfo pp=(ProInfo)v.elementAt(i);
     if(pp.getId()==id){
       pp.setStock(pp.getStock()+qu);
       v.setElementAt(pp,i);
       flag=true;
       break;
     }
   }
   return flag;
 }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -