首页>代码>SSH框架开发购物车>/shoppingcartfinal/src/com/kettas/action/ProductAction.java
package com.kettas.action;

import java.util.ArrayList;
import java.util.HashSet;
import java.util.List;
import java.util.Set;

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.actions.MappingDispatchAction;

import com.kettas.biz.ProductBiz;
import com.kettas.entity.Product;
import com.kettas.exception.BizException;

/*
 * Title:商品操作相关Action
 * Author:SecondGroup
 * Time:2010.1.14
 * Version:1.0.0
 */
public class ProductAction extends MappingDispatchAction{
	private ProductBiz pbiz;
	
	public ProductBiz getPbiz() {
		return pbiz;
	}

	public void setPbiz(ProductBiz pbiz) {
		this.pbiz = pbiz;
	}

	/*
	 * 查询所有商品类型
	 */
	public ActionForward getAllProductTypes(ActionMapping mapping,ActionForm form,HttpServletRequest request,HttpServletResponse response){	
		List<Product> products=new ArrayList<Product>();
		Set<String> productTypes=new HashSet<String>();
		
		List<Product> topProducts=new ArrayList<Product>();
		
		try {
			products=pbiz.getAllProducts();
			
			topProducts=pbiz.getProductsOrderByPrice();
//			for(Product p:topProducts){
//				System.out.println("======================"+p.getPrice()+"===========================");
//			}
			/*
			 * 热门商品和推荐商品选取价格升序排名前四的商品
			 */
		} catch (Exception e) {
			throw new BizException(e);
		}
		
		for(Product p:products){
			//将所有的商品类型都添加到set中去
			productTypes.add(p.getType());
		}
		
		/*for(String s:productTypes){
			System.out.println("---------------------"+s+"-----------------------");
		}*/
		request.setAttribute("productTypes", productTypes);
		
		//设置热门商品和推荐商品
		request.setAttribute("product1", topProducts.get(0));
		request.setAttribute("product2", topProducts.get(1));
		request.setAttribute("product3", topProducts.get(2));
		request.setAttribute("product4", topProducts.get(3));
		request.setAttribute("product5", topProducts.get(4));
		request.setAttribute("product6", topProducts.get(5));
		//HttpSession session=request.getSession(true);
		//session.setAttribute("productTypes", productTypes);

		return mapping.findForward("index");
	}
	
	
	/*
	 * 查询选择器,根据form的条件选择具体用哪一个action以及根据flag选择跳转的页面
	 */
	public ActionForward selectFilter(ActionMapping mapping,ActionForm form,HttpServletRequest request,HttpServletResponse response){
		String searchType=request.getParameter("searchType").trim();
		String idNamePriceTypeDescAll=request.getParameter("idNamePriceTypeDescAll").trim();
		System.out.println("=================="+searchType+"=================="+idNamePriceTypeDescAll+"=================");
		//得到flag的input的value值,具体有index和detail两种
		//String flag=request.getParameter("flag").trim();
		
		if(searchType.equals("按商品ID")){
			request.setAttribute("idNamePriceTypeDescAll", idNamePriceTypeDescAll);
			//request.setAttribute("flag", flag);
			return mapping.findForward("getProductById");
		}else if(searchType.equals("按商品名称")){
			request.setAttribute("idNamePriceTypeDescAll", idNamePriceTypeDescAll);
			//request.setAttribute("flag", flag);
			return mapping.findForward("getProductsByName");
		}else if(searchType.equals("按商品价格")){
			request.setAttribute("idNamePriceTypeDescAll", idNamePriceTypeDescAll);
			//request.setAttribute("flag", flag);
			return mapping.findForward("getProductsByPrice");
		}/*else if(searchType.equals("商品类型")){
			request.setAttribute("idNamePriceTypeDescAll", idNamePriceTypeDescAll);
			//request.setAttribute("flag", flag);
			return mapping.findForward("getProductsByType");
		}*/else if(searchType.equals("按商品描述")){
			request.setAttribute("idNamePriceTypeDescAll", idNamePriceTypeDescAll);
			//request.setAttribute("flag", flag);
			return mapping.findForward("getProductsByDescription");
		}else if(searchType.equals("全部商品")){
			//request.setAttribute("flag", flag);
			return mapping.findForward("getAllProducts");
		}else{
			return mapping.findForward("error");
		}
	}
	/*
	 * 查询所有商品
	 */
	public ActionForward getAllProducts(ActionMapping mapping,ActionForm form,HttpServletRequest request,HttpServletResponse response){
		//String flag=request.getParameter("flag");
		List<Product> products=new ArrayList<Product>();
		
		try {
			products=pbiz.getAllProducts();
		} catch (Exception e) {
			throw new BizException(e);
		}
		
		//将查询到集合设置到request属性里
		request.setAttribute("products", products);
		
		return mapping.findForward("display");
	}
	
	/*
	 * 按商品ID查询商品Action
	 */
	public ActionForward getProductById(ActionMapping mapping,ActionForm form,HttpServletRequest request,HttpServletResponse response){
		String idNamePriceTypeDescAll=request.getParameter("idNamePriceTypeDescAll").trim();
		Integer id=Integer.parseInt(idNamePriceTypeDescAll);
		
		Product product=null;
		List<Product> products=new ArrayList<Product>();
		try {
			product=pbiz.getProductById(id);
			products.add(product);
		} catch (Exception e) {
			throw new BizException(e);
		}
		request.setAttribute("products", products);
		
		return mapping.findForward("display");
	}
	
	/*
	 * 按商品类型查询商品Action
	 */
	public ActionForward getProductsByType(ActionMapping mapping,ActionForm form,HttpServletRequest request,HttpServletResponse response){
		String type=request.getParameter("type").trim();
		System.out.println("------------------"+type+"-----------------------");
		List<Product> products=new ArrayList<Product>();
		try {
			products=pbiz.getProductsByType(type);
		} catch (Exception e) {
			throw new BizException(e);
		}
		
		request.setAttribute("products", products);
		return mapping.findForward("display");
	}
	
	/*
	 * 按商品名称查询商品Action
	 */
	public ActionForward getProductsByName(ActionMapping mapping,ActionForm form,HttpServletRequest request,HttpServletResponse response){
		String name=request.getParameter("idNamePriceTypeDescAll").trim();
		
		List<Product> products=new ArrayList<Product>();
		
		try {
			products=pbiz.getProductsByName(name);
		} catch (Exception e) {
			throw new BizException(e);
		}
		
		request.setAttribute("products", products);
		return mapping.findForward("display");
	}
	
	
	/*
	 * 按商品价格查询商品Action
	 */
	public ActionForward getProductsByPrice(ActionMapping mapping,ActionForm form,HttpServletRequest request,HttpServletResponse response){
		String priceStr=request.getParameter("idNamePriceTypeDescAll").trim();
		double price=Double.parseDouble(priceStr);
		
		List<Product> products=new ArrayList<Product>();
		
		try {
			products=pbiz.getProductsByPrice(price);
		} catch (Exception e) {
			throw new BizException(e);
		}
		
		request.setAttribute("products", products);
		return mapping.findForward("display");
	}
	
	
	/*
	 * 按商品描述查询商品Action
	 */
	public ActionForward getProductsByDescription(ActionMapping mapping,ActionForm form,HttpServletRequest request,HttpServletResponse response){
		String description=request.getParameter("idNamePriceTypeDescAll").trim();
		
		List<Product> products=new ArrayList<Product>();
		try {
			products=pbiz.getProductsByDescription(description);
		} catch (Exception e) {
			throw new BizException(e);
		}
		
		request.setAttribute("products", products);
		return mapping.findForward("display");
	}
}
最近下载更多
haruto1213  LV1 2023年6月30日
yyyyyyyc  LV1 2022年9月21日
qweqqw123  LV2 2021年12月20日
鲁西西  LV1 2021年6月29日
908902058  LV1 2021年6月15日
1973356987  LV13 2021年6月8日
风雨中的孤傲  LV2 2021年5月25日
情绪别致的疯子  LV3 2020年12月20日
嘿嘿嘿123333  LV3 2020年6月26日
林志勇  LV10 2020年5月22日
最近浏览更多
zhangsan_lisi 9月18日
暂无贡献等级
quartz  LV8 7月1日
xiao1111  LV3 6月18日
郭宇航裹裹  LV5 6月7日
wangbh1234  LV1 6月6日
2411307984  LV1 5月8日
hhxq0902 4月20日
暂无贡献等级
jiemomo  LV12 2023年11月3日
廖业贵  LV18 2023年10月17日
顶部 客服 微信二维码 底部
>扫描二维码关注最代码为好友扫描二维码关注最代码为好友