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

📄 productoperation.java

📁 基于struts+hibernate的电子商务网站。可运行。数据库mysql
💻 JAVA
字号:
/**
  * @(#)tarena.action.ProductOperation.java  2008-11-4  
  * Copy Right Information	: Tarena
  * Project					: xindou
  * JDK version used		: jdk1.6.4
  * Comments				: 商品操作类。
  * Version					: 1.0
  * Sr	Date		Modified By		Why & What is modified
  * 1.	2008-11-4 	小猪     		新建
  * 2.  2008-11-18  陈达				修改
  **/
package tarena.action;

import java.util.LinkedList;
import java.util.List;
import java.util.Vector;

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 tarena.dao.CategoryDAO;
import tarena.dao.ProductDAO;
import tarena.dao.pages.PSearchDAO;
import tarena.dao.pages.RootCategoryDAO;

import tarena.data.AbractCategory;

import tarena.data.CategorySecondAndThird;
import tarena.data.Page;

import tarena.entity.Product;
import tarena.global.MessageOperate;
import tarena.global.PublicParameter;
import tarena.global.Transform;

 /**
 * 商品操作类。<br>
 * 增加商品呢、删除商品、浏览商品
 * 2008-11-4
 * @author		达内科技[Tarena Training Group]
 * @version	1.0
 * @since		JDK1.6(建议) 
 */
public class ProductOperation extends MappingDispatchAction{

	/**
	 * 查看商品信息
	 */
	public ActionForward productInfo(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception {
		
		String pid = request.getParameter("pid");
		Integer id = Transform.StringToInteger(pid);
		ProductDAO productDAO = new ProductDAO();
		Product product = productDAO.findById(id);
		if(id<=0 || product==null){
			MessageOperate.setAttribute(request, "非法操作", "操作错误", "您所访问的id:"+pid+",为空或不存在!程序将跳转到上一页.", "");
			return mapping.findForward("message");
		}
		CategoryDAO categoryDAO = new CategoryDAO();
		Integer secondid = categoryDAO.getParentID(product.getCategory().getId());
		Integer rootid = categoryDAO.getParentID(secondid);
		
		RootCategoryDAO rootCategoryDAO = new RootCategoryDAO();
		List<AbractCategory> secondCategory = rootCategoryDAO.listSecondCategoryByTop(rootid);
		List<CategorySecondAndThird> ocategorys = new Vector<CategorySecondAndThird>();
		//2级分类和3级分类
		if(secondCategory!=null)
			for(AbractCategory c:secondCategory)
				ocategorys.add(new CategorySecondAndThird(c,rootCategoryDAO.listHotThirdCategoryBySecond(c.getId())));
		
		System.out.println(rootid);
		
		request.setAttribute("title", product.getPname());
		request.setAttribute("rootid", rootid);
		request.setAttribute("address", "<a href='default.htm'>首页</a>&nbsp;> &nbsp;<a href='rootcategory.htm?id="+rootid+"' id='aTabCategory'>"+
				categoryDAO.findById(rootid).getCname()
				+"</a>&nbsp;>&nbsp;<span id='aRootCategory'>"+
				categoryDAO.findById(secondid).getCname()
				+"</span>&nbsp;>&nbsp;<span id='spanCategory'><a href='category.htm?cid="+id+"'>"+
				categoryDAO.findById(product.getCategory().getId()).getCname()
				+"</a></span>&nbsp;>&nbsp;<b>" +
				product.getPname()+"</a>");
		request.setAttribute("scid", secondid);
		request.setAttribute("ocategorys", ocategorys);
		request.setAttribute("product", product);
		return mapping.findForward("productinfo");
	}
	
	
	/**
	 * 对比商品
	 */
	public ActionForward compare(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception {
		String pids = request.getParameter("pids");
		List<Product> products = getProducts(pids);
		if(products==null||products.size()<2){
			MessageOperate.setAttribute(request, "操作错误", "操作错误", "您所请求的商品id无效! 程序将跳转到上一页.", "");
			return mapping.findForward("message");
		}
		request.setAttribute("products", products);
		return mapping.findForward("compare");
	}	
		
	private List<Product> getProducts(String pids){
		if(pids==null) return null;
		List<Product> products = new LinkedList<Product>();
		ProductDAO dao = new ProductDAO();
		String [] strid = pids.split(PublicParameter.ID_SEPRATOR);
		for(int i=0;i<strid.length;i++){
			Product product =null;
			try {
				Integer temp = new Integer(strid[i]);
				product = dao.findById(temp);
			} catch (RuntimeException e) {	}
			if(product!=null){
				products.add(product);
			}
		}
		return products;
	}
	
	/**
	 * 商品抢购区
	 */
	public ActionForward promotion(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception {
		//此处记得保存rootid
		List<Product> promotions = new ProductDAO().listPromotionProduct();
		request.setAttribute("promotions", promotions);
		return mapping.findForward("promotion");
	}
	
	/**
	 * 搜索
	 */
	public ActionForward pSearch(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception {
		
		String word = request.getParameter("word");
		if(word==null || word.trim().equals("")){
			MessageOperate.setAttribute(request, "商品搜索 错误 ", "搜索", "输入的关键字为空", "");
			return mapping.findForward("message");
		}
		int num = 10;
		String xcid = request.getParameter("cid");
		String xpage = request.getParameter("page");
		Integer cid = Transform.StringToInteger(xcid);
		if(cid<=0) cid = 0;
		Integer page = Transform.StringToInteger(xpage);
		if(page<=0) page = 1;
		
		PSearchDAO searchDAO = new PSearchDAO();
		List<Product> sproducts = searchDAO.listMatchedProductUsePaging(cid, word,num,page);
		List<AbractCategory> scategorys = searchDAO.listMatchedCategory(cid, word);
		List<Page> pages = searchDAO.listPageLinks(cid, word, page, num);
		
		request.setAttribute("title", "商品搜索");
		request.setAttribute("sproducts", sproducts);
		request.setAttribute("scategorys", scategorys);
		request.setAttribute("pages", pages);
		return mapping.findForward("psearch");
	}
	
	/**
	 * 商品模糊搜索
	 */
	public ActionForward pQuery(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception {
				
		String word = request.getParameter("word");
		if(word==null || word.trim().equals("")){
			MessageOperate.setAttribute(request, "商品搜索 错误 ", "搜索", "输入的关键字为空", "");
			return mapping.findForward("message");
		}
//		int num = 10;
		String xcid = request.getParameter("cid");
//		String xpage = request.getParameter("page");
		Integer cid = Transform.StringToInteger(xcid);
		if(cid<=0) cid = 0;
//		Integer page = Transform.StringToInteger(xpage);
//		if(page<=0) page = 1;
		
		PSearchDAO searchDAO = new PSearchDAO();
		long start = System.currentTimeMillis();
		List<Product> sproducts = searchDAO.listMatchedProduct(cid, word);
		long end = System.currentTimeMillis();
//		List<AbractCategory> scategorys = searchDAO.listMatchedCategory(cid, word);
//		List<Page> pages = searchDAO.listPageLinks(cid, word, page, num);
		
		request.setAttribute("title", "商品搜索");
		request.setAttribute("products", sproducts);
		request.setAttribute("productSize", sproducts.size());
		request.setAttribute("take", end-start);
//		request.setAttribute("pages", pages);
		
		
		return mapping.findForward("pquery");
	}
	
	
}

⌨️ 快捷键说明

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