📄 shoppingcartaction.java
字号:
package com.witbridge.netstore.action;
import java.util.Enumeration;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;
import org.apache.struts.action.ActionMessage;
import org.apache.struts.action.ActionMessages;
import com.witbridge.netstore.framework.SessionContaner;
import com.witbridge.netstore.framework.ShoppingCart;
import com.witbridge.netstore.framework.ShoppingCartItem;
import com.witbridge.netstore.model.Items;
import com.witbridge.netstore.service.NetStoreService;
public class ShoppingCartAction extends NetStoreDispatchAction {
public ActionForward view(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response)
throws Exception {
SessionContaner sessionContaner=getSessionContaner(request);
ActionMessages errors=new ActionMessages();
if(sessionContaner.getCart()!=null){
if(sessionContaner.getCart().getSize()==0){
errors.add("null",new ActionMessage("sessionContaner.null"));
saveErrors(request,errors);
}
}
else{
errors.add("null",new ActionMessage("sessionContaner.null"));
saveErrors(request,errors);
}
return mapping.findForward("viewsucces");
}
public ActionForward addItem(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response)
throws Exception {
SessionContaner sessionContaner=getSessionContaner(request);
Long itemId= new Long(request.getParameter("id"));
String qtyParameter=request.getParameter("qty");
int quantity=1;
if(qtyParameter!=null){
quantity=Integer.parseInt(qtyParameter);
}
NetStoreService service=getNetStoreService();
Items item=service.getItemById(itemId);
sessionContaner.getCart().addItem(new ShoppingCartItem(item,quantity));
return mapping.findForward("additemsucces");
}
public ActionForward update(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response)
throws Exception{
Enumeration paramNames=request.getParameterNames();
while(paramNames.hasMoreElements()){
String paramName=(String)paramNames.nextElement();
if(paramName.startsWith("qty_")){
Long id=new Long(paramName.substring(4,paramName.length()));
String qtyStr=request.getParameter(paramName);
if(id!=null&&qtyStr!=null){
ShoppingCart cart=getSessionContaner(request).getCart();
cart.updateQuantity(id,Integer.parseInt(qtyStr));
}
}
}
return mapping.findForward("updatesucces");
}
public ActionForward delete(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response)
throws Exception{
Long itemId=new Long(request.getParameter("id"));
ShoppingCart cart=getSessionContaner(request).getCart();
cart.removeItem(itemId);
SessionContaner sessionContaner=getSessionContaner(request);
ActionMessages errors=new ActionMessages();
if(sessionContaner.getCart().getSize()==0){
errors.add("null",new ActionMessage("sessionContaner.null"));
saveErrors(request,errors);
}
return mapping.findForward("deletesucces");
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -