📄 buyaction.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 + -