📄 productoperation.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> > <a href='rootcategory.htm?id="+rootid+"' id='aTabCategory'>"+
categoryDAO.findById(rootid).getCname()
+"</a> > <span id='aRootCategory'>"+
categoryDAO.findById(secondid).getCname()
+"</span> > <span id='spanCategory'><a href='category.htm?cid="+id+"'>"+
categoryDAO.findById(product.getCategory().getId()).getCname()
+"</a></span> > <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 + -