购物网站17-2:产品action---产品查询----产品样式列表----产品样式管理-----产品控制---产品类型列表----产品类型管理----浏览商品
2009-08-31 23:06
609 查看
/**
* 产品查询
*/
@Controller("/product/query")
public class ProductQueryAction extends Action {
@Resource ProductSearch productSearch;
@Override
public ActionForward execute(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response)
throws Exception {
ProductQueryForm formbean = (ProductQueryForm) form;
PageView<ProductInfo> pageView = new PageView<ProductInfo>(12, formbean.getPage());
pageView.setQueryResult(
productSearch.query(formbean.getWord(), pageView.getFirstResult(), pageView.getMaxresult())
);
request.setAttribute("pageView", pageView);
return mapping.findForward("list");
}
}
---------------------------------------------------------------
@Controller("/control/product/style/list")
public class ProductStyleAction extends Action {
@Resource(name="productStyleServiceBean")
private ProductStyleService productStyleService;
@Override @Permission(module="product",privilege="view")
public ActionForward execute(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response)
throws Exception {
ProductForm formbean = (ProductForm) form;
LinkedHashMap<String, String> orderby = new LinkedHashMap<String, String>();
orderby.put("visible", "desc");
orderby.put("id", "asc");
request.setAttribute("styles", productStyleService.getScrollData(-1, -1,
"o.product.id=?1", new Object[]{formbean.getProductid()},orderby).getResultlist());
return mapping.findForward("list");
}
}
------------------------------------------------------------------
@Controller("/control/product/style/manage")
public class ProductStyleManageAction extends DispatchAction {
@Resource(name="productInfoServiceBean")
private ProductInfoService productInfoService;
@Resource(name="productStyleServiceBean")
private ProductStyleService productStyleService;
/**
* 设置产品上架
*/
@Permission(module="product",privilege="visible")
public ActionForward visible(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response) throws Exception {
ProductForm formbean = (ProductForm) form;
productStyleService.setVisibleStatu(formbean.getStylesids(), true);
request.setAttribute("message", "设置成功了");
request.setAttribute("urladdress", SiteUrl.readUrl("control.product.style.list")+"?productid="+ formbean.getProductid());
return mapping.findForward("message");
}
/**
* 设置产品下架
*/
@Permission(module="product",privilege="visible")
public ActionForward disable(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response) throws Exception {
ProductForm formbean = (ProductForm) form;
productStyleService.setVisibleStatu(formbean.getStylesids(), false);
request.setAttribute("message", "设置成功了");
request.setAttribute("urladdress", SiteUrl.readUrl("control.product.style.list")+"?productid="+ formbean.getProductid());
return mapping.findForward("message");
}
/**
* 产品图片修改界面
*/
@Permission(module="product",privilege="update")
public ActionForward editUI(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response) throws Exception {
ProductForm formbean = (ProductForm)form;
ProductStyle productstyle = productStyleService.find(formbean.getProductstyleid());
formbean.setStylename(productstyle.getName());
request.setAttribute("imagepath", productstyle.getImageFullPath());
return mapping.findForward("edit");
}
/**
* 产品图片修改
*/
@Permission(module="product",privilege="update")
public ActionForward edit(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response) throws Exception {
ProductForm formbean = (ProductForm)form;
ProductStyle productstyle = productStyleService.find(formbean.getProductstyleid());
productstyle.setName(formbean.getStylename());
if(formbean.getImagefile()!=null && formbean.getImagefile().getFileSize()>0){
if(!ProductForm.validateImageFileType(formbean.getImagefile())){
request.setAttribute("message", "文件格式不正确,只允许上传gif/jpg/png/bmp图片");
return mapping.findForward("message");
}
if(formbean.getImagefile().getFileSize()>204800){
request.setAttribute("message", "图片不能大于200K");
return mapping.findForward("message");
}
String ext = UploadfileForm.getExt(formbean.getImagefile());
String filename = UUID.randomUUID().toString()+ "."+ext;//构建文件名称
ProductForm.saveProductImageFile(request, formbean.getImagefile(),productstyle.getProduct().getType().getTypeid(),
productstyle.getProduct().getId(), filename);
productstyle.setImagename(filename);
}
productStyleService.update(productstyle);
request.setAttribute("message", "修改成功了");
request.setAttribute("urladdress", SiteUrl.readUrl("control.product.style.list")+"?productid="+ productstyle.getProduct().getId());
return mapping.findForward("message");
}
/**
* 产品图片添加界面
*/
@Permission(module="product",privilege="insert")
public ActionForward addUI(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response) throws Exception {
return mapping.findForward("add");
}
/**
* 产品图片添加
*/
@Permission(module="product",privilege="insert")
public ActionForward add(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response) throws Exception {
ProductForm formbean = (ProductForm)form;
if(!ProductForm.validateImageFileType(formbean.getImagefile())){
request.setAttribute("message", "文件格式不正确,只允许上传gif/jpg/png/bmp图片");
return mapping.findForward("message");
}
if(formbean.getImagefile().getFileSize()>204800){
request.setAttribute("message", "图片不能大于200K");
return mapping.findForward("message");
}
ProductInfo product = productInfoService.find(formbean.getProductid());
String ext = UploadfileForm.getExt(formbean.getImagefile());
String filename = UUID.randomUUID().toString()+ "."+ext;//构建文件名称
ProductForm.saveProductImageFile(request, formbean.getImagefile(),product.getType().getTypeid(),
product.getId(),filename);
ProductStyle productStyle = new ProductStyle(formbean.getStylename(), filename);
productStyle.setProduct(product);
productStyleService.save(productStyle);
request.setAttribute("message", "添加成功了");
request.setAttribute("urladdress", SiteUrl.readUrl("control.product.style.list")+"?productid="+ product.getId());
return mapping.findForward("message");
}
}
-----------------------------------------------------------------------
@Controller("/product/switch")
public class ProductSwitchAction extends DispatchAction {
@Resource(name="productInfoServiceBean")
private ProductInfoService productInfoService;
/**
* 显示产品大图片
*/
public ActionForward showimage(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response) throws Exception {
return mapping.findForward("showimage");
}
/**
* 获取10个最畅销的产品
*/
public ActionForward topsell(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response) throws Exception {
FrontProductForm formbean = (FrontProductForm) form;
request.setAttribute("topsellproducts", productInfoService.getTopSell(formbean.getTypeid(), 10));
return mapping.findForward("topsell");
}
/**
* 获取10个用户浏览过的产品
*/
public ActionForward getViewHistory(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response) throws Exception {
String cookieValue = WebUtil.getCookieByName(request, "productViewHistory");
if(cookieValue!=null && !"".equals(cookieValue.trim())){
String[] ids = cookieValue.split("-");
Integer[] productids = new Integer[ids.length];
for(int i=0 ;i<ids.length; i++){
productids[i]=new Integer(ids[i].trim());
}
request.setAttribute("viewHistory", productInfoService.getViewHistory(productids, 10));
}
return mapping.findForward("viewHistory");
}
}
-----------------------------------------------------------------
@Controller("/control/product/type/list")
public class ProductTypeAction extends Action {
@Resource(name="productTypeServiceBean")
private ProductTypeService productTypeService;
@Override @Permission(module="productType",privilege="view")
public ActionForward execute(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response) throws Exception {
ProductTypeForm formbean = (ProductTypeForm) form;
StringBuffer jpql = new StringBuffer("o.visible=?1");
List<Object> params = new ArrayList<Object>();
params.add(true);
if("true".equals(formbean.getQuery())){//进行查询操作
if(formbean.getName()!=null && !"".equals(formbean.getName().trim())){
jpql.append(" and o.name like ?"+ (params.size()+1));
params.add("%"+ formbean.getName()+ "%");
}
}else{
if(formbean.getParentid()!=null && formbean.getParentid()>0){
jpql.append(" and o.parent.typeid=?"+(params.size()+1));
params.add(formbean.getParentid());
}else{
jpql.append(" and o.parent is null");
}
}
PageView<ProductType> pageView = new PageView<ProductType>(12, formbean.getPage());
LinkedHashMap<String, String> orderby = new LinkedHashMap<String, String>();
orderby.put("typeid", "desc");
QueryResult<ProductType> qr = productTypeService.getScrollData(pageView.getFirstResult(), pageView.getMaxresult(), jpql.toString(), params.toArray(), orderby);
pageView.setQueryResult(qr);
request.setAttribute("pageView", pageView);
return mapping.findForward("list");
}
}
---------------------------------------------------------------------------
@Controller("/control/product/type/manage")
public class ProductTypeManageAction extends DispatchAction {
@Resource(name="productTypeServiceBean")
private ProductTypeService productTypeService;
/**
* 查询界面
*/
@Permission(module="productType",privilege="view")
public ActionForward queryUI(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response) throws Exception {
return mapping.findForward("query");
}
/**
* 类别添加界面
*/
@Permission(module="productType",privilege="insert")
public ActionForward addUI(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response) throws Exception {
return mapping.findForward("add");
}
/**
* 类别添加
*/
@Permission(module="productType",privilege="insert")
public ActionForward add(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response) throws Exception {
ProductTypeForm formbean = (ProductTypeForm) form;
ProductType type = new ProductType(formbean.getName(),formbean.getNote());
if(formbean.getParentid()!=null && formbean.getParentid()>0) type.setParent(new ProductType(formbean.getParentid()));
productTypeService.save(type);
request.setAttribute("message", "添加类别成功");
request.setAttribute("urladdress", SiteUrl.readUrl("control.product.type.list"));
return mapping.findForward("message");
}
/**
* 类别修改界面
*/
@Permission(module="productType",privilege="update")
public ActionForward editUI(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response) throws Exception {
ProductTypeForm formbean = (ProductTypeForm) form;
ProductType type = productTypeService.find(formbean.getTypeid());
formbean.setName(type.getName());
formbean.setNote(type.getNote());
return mapping.findForward("edit");
}
/**
* 类别修改
*/
@Permission(module="productType",privilege="update")
public ActionForward edit(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response) throws Exception {
ProductTypeForm formbean = (ProductTypeForm) form;
ProductType type = productTypeService.find(formbean.getTypeid());
type.setName(formbean.getName());
type.setNote(formbean.getNote());
productTypeService.update(type);
request.setAttribute("message", "修改类别成功");
request.setAttribute("urladdress", SiteUrl.readUrl("control.product.type.list"));
return mapping.findForward("message");
}
}
-------------------------------------------------------------------------------
/**
* 浏览商品
* @author itcast@sohu.com
*
*/
@Controller("/product/view")
public class ViewProductAction extends Action {
@Resource(name="productInfoServiceBean")
private ProductInfoService productInfoService;
@Override
public ActionForward execute(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response) throws Exception {
FrontProductForm formbean = (FrontProductForm) form;
ProductInfo product = productInfoService.find(formbean.getProductid());
if(product==null){
request.setAttribute("message", "获取不到你需要浏览的产品");
request.setAttribute("urladdress", "/");
return mapping.findForward("message");
}
WebUtil.addCookie(response, "productViewHistory",
buildViewHistory(request, formbean.getProductid()), 30*24*60*60);
List<ProductType> stypes = new ArrayList<ProductType>();
ProductType parent = product.getType();
while(parent!=null){
stypes.add(parent);
parent = parent.getParent();
}
request.setAttribute("product", product);
request.setAttribute("stypes", stypes);
return mapping.findForward("product");
}
public String buildViewHistory(HttpServletRequest request, Integer currentProductId){
//23-2-6-5
//1.如果当前浏览的id已经在浏览历史里了,我们要把移到最前面
//2.如果浏览历史里已经达到了10个产品了,我们需要把最选进入的元素删除
String cookieValue = WebUtil.getCookieByName(request, "productViewHistory");
LinkedList<Integer> productids = new LinkedList<Integer>();
if(cookieValue!=null && !"".equals(cookieValue.trim())){
String[] ids = cookieValue.split("-");
for(String id : ids){
productids.offer(new Integer(id.trim()));
}
if(productids.contains(currentProductId)) productids.remove(currentProductId);
if(productids.size()>=10) productids.poll();
}
productids.offer(currentProductId);
StringBuffer out = new StringBuffer();
for(Integer id : productids){
out.append(id).append('-');
}
out.deleteCharAt(out.length()-1);
return out.toString();
}
}
* 产品查询
*/
@Controller("/product/query")
public class ProductQueryAction extends Action {
@Resource ProductSearch productSearch;
@Override
public ActionForward execute(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response)
throws Exception {
ProductQueryForm formbean = (ProductQueryForm) form;
PageView<ProductInfo> pageView = new PageView<ProductInfo>(12, formbean.getPage());
pageView.setQueryResult(
productSearch.query(formbean.getWord(), pageView.getFirstResult(), pageView.getMaxresult())
);
request.setAttribute("pageView", pageView);
return mapping.findForward("list");
}
}
---------------------------------------------------------------
@Controller("/control/product/style/list")
public class ProductStyleAction extends Action {
@Resource(name="productStyleServiceBean")
private ProductStyleService productStyleService;
@Override @Permission(module="product",privilege="view")
public ActionForward execute(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response)
throws Exception {
ProductForm formbean = (ProductForm) form;
LinkedHashMap<String, String> orderby = new LinkedHashMap<String, String>();
orderby.put("visible", "desc");
orderby.put("id", "asc");
request.setAttribute("styles", productStyleService.getScrollData(-1, -1,
"o.product.id=?1", new Object[]{formbean.getProductid()},orderby).getResultlist());
return mapping.findForward("list");
}
}
------------------------------------------------------------------
@Controller("/control/product/style/manage")
public class ProductStyleManageAction extends DispatchAction {
@Resource(name="productInfoServiceBean")
private ProductInfoService productInfoService;
@Resource(name="productStyleServiceBean")
private ProductStyleService productStyleService;
/**
* 设置产品上架
*/
@Permission(module="product",privilege="visible")
public ActionForward visible(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response) throws Exception {
ProductForm formbean = (ProductForm) form;
productStyleService.setVisibleStatu(formbean.getStylesids(), true);
request.setAttribute("message", "设置成功了");
request.setAttribute("urladdress", SiteUrl.readUrl("control.product.style.list")+"?productid="+ formbean.getProductid());
return mapping.findForward("message");
}
/**
* 设置产品下架
*/
@Permission(module="product",privilege="visible")
public ActionForward disable(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response) throws Exception {
ProductForm formbean = (ProductForm) form;
productStyleService.setVisibleStatu(formbean.getStylesids(), false);
request.setAttribute("message", "设置成功了");
request.setAttribute("urladdress", SiteUrl.readUrl("control.product.style.list")+"?productid="+ formbean.getProductid());
return mapping.findForward("message");
}
/**
* 产品图片修改界面
*/
@Permission(module="product",privilege="update")
public ActionForward editUI(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response) throws Exception {
ProductForm formbean = (ProductForm)form;
ProductStyle productstyle = productStyleService.find(formbean.getProductstyleid());
formbean.setStylename(productstyle.getName());
request.setAttribute("imagepath", productstyle.getImageFullPath());
return mapping.findForward("edit");
}
/**
* 产品图片修改
*/
@Permission(module="product",privilege="update")
public ActionForward edit(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response) throws Exception {
ProductForm formbean = (ProductForm)form;
ProductStyle productstyle = productStyleService.find(formbean.getProductstyleid());
productstyle.setName(formbean.getStylename());
if(formbean.getImagefile()!=null && formbean.getImagefile().getFileSize()>0){
if(!ProductForm.validateImageFileType(formbean.getImagefile())){
request.setAttribute("message", "文件格式不正确,只允许上传gif/jpg/png/bmp图片");
return mapping.findForward("message");
}
if(formbean.getImagefile().getFileSize()>204800){
request.setAttribute("message", "图片不能大于200K");
return mapping.findForward("message");
}
String ext = UploadfileForm.getExt(formbean.getImagefile());
String filename = UUID.randomUUID().toString()+ "."+ext;//构建文件名称
ProductForm.saveProductImageFile(request, formbean.getImagefile(),productstyle.getProduct().getType().getTypeid(),
productstyle.getProduct().getId(), filename);
productstyle.setImagename(filename);
}
productStyleService.update(productstyle);
request.setAttribute("message", "修改成功了");
request.setAttribute("urladdress", SiteUrl.readUrl("control.product.style.list")+"?productid="+ productstyle.getProduct().getId());
return mapping.findForward("message");
}
/**
* 产品图片添加界面
*/
@Permission(module="product",privilege="insert")
public ActionForward addUI(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response) throws Exception {
return mapping.findForward("add");
}
/**
* 产品图片添加
*/
@Permission(module="product",privilege="insert")
public ActionForward add(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response) throws Exception {
ProductForm formbean = (ProductForm)form;
if(!ProductForm.validateImageFileType(formbean.getImagefile())){
request.setAttribute("message", "文件格式不正确,只允许上传gif/jpg/png/bmp图片");
return mapping.findForward("message");
}
if(formbean.getImagefile().getFileSize()>204800){
request.setAttribute("message", "图片不能大于200K");
return mapping.findForward("message");
}
ProductInfo product = productInfoService.find(formbean.getProductid());
String ext = UploadfileForm.getExt(formbean.getImagefile());
String filename = UUID.randomUUID().toString()+ "."+ext;//构建文件名称
ProductForm.saveProductImageFile(request, formbean.getImagefile(),product.getType().getTypeid(),
product.getId(),filename);
ProductStyle productStyle = new ProductStyle(formbean.getStylename(), filename);
productStyle.setProduct(product);
productStyleService.save(productStyle);
request.setAttribute("message", "添加成功了");
request.setAttribute("urladdress", SiteUrl.readUrl("control.product.style.list")+"?productid="+ product.getId());
return mapping.findForward("message");
}
}
-----------------------------------------------------------------------
@Controller("/product/switch")
public class ProductSwitchAction extends DispatchAction {
@Resource(name="productInfoServiceBean")
private ProductInfoService productInfoService;
/**
* 显示产品大图片
*/
public ActionForward showimage(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response) throws Exception {
return mapping.findForward("showimage");
}
/**
* 获取10个最畅销的产品
*/
public ActionForward topsell(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response) throws Exception {
FrontProductForm formbean = (FrontProductForm) form;
request.setAttribute("topsellproducts", productInfoService.getTopSell(formbean.getTypeid(), 10));
return mapping.findForward("topsell");
}
/**
* 获取10个用户浏览过的产品
*/
public ActionForward getViewHistory(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response) throws Exception {
String cookieValue = WebUtil.getCookieByName(request, "productViewHistory");
if(cookieValue!=null && !"".equals(cookieValue.trim())){
String[] ids = cookieValue.split("-");
Integer[] productids = new Integer[ids.length];
for(int i=0 ;i<ids.length; i++){
productids[i]=new Integer(ids[i].trim());
}
request.setAttribute("viewHistory", productInfoService.getViewHistory(productids, 10));
}
return mapping.findForward("viewHistory");
}
}
-----------------------------------------------------------------
@Controller("/control/product/type/list")
public class ProductTypeAction extends Action {
@Resource(name="productTypeServiceBean")
private ProductTypeService productTypeService;
@Override @Permission(module="productType",privilege="view")
public ActionForward execute(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response) throws Exception {
ProductTypeForm formbean = (ProductTypeForm) form;
StringBuffer jpql = new StringBuffer("o.visible=?1");
List<Object> params = new ArrayList<Object>();
params.add(true);
if("true".equals(formbean.getQuery())){//进行查询操作
if(formbean.getName()!=null && !"".equals(formbean.getName().trim())){
jpql.append(" and o.name like ?"+ (params.size()+1));
params.add("%"+ formbean.getName()+ "%");
}
}else{
if(formbean.getParentid()!=null && formbean.getParentid()>0){
jpql.append(" and o.parent.typeid=?"+(params.size()+1));
params.add(formbean.getParentid());
}else{
jpql.append(" and o.parent is null");
}
}
PageView<ProductType> pageView = new PageView<ProductType>(12, formbean.getPage());
LinkedHashMap<String, String> orderby = new LinkedHashMap<String, String>();
orderby.put("typeid", "desc");
QueryResult<ProductType> qr = productTypeService.getScrollData(pageView.getFirstResult(), pageView.getMaxresult(), jpql.toString(), params.toArray(), orderby);
pageView.setQueryResult(qr);
request.setAttribute("pageView", pageView);
return mapping.findForward("list");
}
}
---------------------------------------------------------------------------
@Controller("/control/product/type/manage")
public class ProductTypeManageAction extends DispatchAction {
@Resource(name="productTypeServiceBean")
private ProductTypeService productTypeService;
/**
* 查询界面
*/
@Permission(module="productType",privilege="view")
public ActionForward queryUI(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response) throws Exception {
return mapping.findForward("query");
}
/**
* 类别添加界面
*/
@Permission(module="productType",privilege="insert")
public ActionForward addUI(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response) throws Exception {
return mapping.findForward("add");
}
/**
* 类别添加
*/
@Permission(module="productType",privilege="insert")
public ActionForward add(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response) throws Exception {
ProductTypeForm formbean = (ProductTypeForm) form;
ProductType type = new ProductType(formbean.getName(),formbean.getNote());
if(formbean.getParentid()!=null && formbean.getParentid()>0) type.setParent(new ProductType(formbean.getParentid()));
productTypeService.save(type);
request.setAttribute("message", "添加类别成功");
request.setAttribute("urladdress", SiteUrl.readUrl("control.product.type.list"));
return mapping.findForward("message");
}
/**
* 类别修改界面
*/
@Permission(module="productType",privilege="update")
public ActionForward editUI(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response) throws Exception {
ProductTypeForm formbean = (ProductTypeForm) form;
ProductType type = productTypeService.find(formbean.getTypeid());
formbean.setName(type.getName());
formbean.setNote(type.getNote());
return mapping.findForward("edit");
}
/**
* 类别修改
*/
@Permission(module="productType",privilege="update")
public ActionForward edit(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response) throws Exception {
ProductTypeForm formbean = (ProductTypeForm) form;
ProductType type = productTypeService.find(formbean.getTypeid());
type.setName(formbean.getName());
type.setNote(formbean.getNote());
productTypeService.update(type);
request.setAttribute("message", "修改类别成功");
request.setAttribute("urladdress", SiteUrl.readUrl("control.product.type.list"));
return mapping.findForward("message");
}
}
-------------------------------------------------------------------------------
/**
* 浏览商品
* @author itcast@sohu.com
*
*/
@Controller("/product/view")
public class ViewProductAction extends Action {
@Resource(name="productInfoServiceBean")
private ProductInfoService productInfoService;
@Override
public ActionForward execute(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response) throws Exception {
FrontProductForm formbean = (FrontProductForm) form;
ProductInfo product = productInfoService.find(formbean.getProductid());
if(product==null){
request.setAttribute("message", "获取不到你需要浏览的产品");
request.setAttribute("urladdress", "/");
return mapping.findForward("message");
}
WebUtil.addCookie(response, "productViewHistory",
buildViewHistory(request, formbean.getProductid()), 30*24*60*60);
List<ProductType> stypes = new ArrayList<ProductType>();
ProductType parent = product.getType();
while(parent!=null){
stypes.add(parent);
parent = parent.getParent();
}
request.setAttribute("product", product);
request.setAttribute("stypes", stypes);
return mapping.findForward("product");
}
public String buildViewHistory(HttpServletRequest request, Integer currentProductId){
//23-2-6-5
//1.如果当前浏览的id已经在浏览历史里了,我们要把移到最前面
//2.如果浏览历史里已经达到了10个产品了,我们需要把最选进入的元素删除
String cookieValue = WebUtil.getCookieByName(request, "productViewHistory");
LinkedList<Integer> productids = new LinkedList<Integer>();
if(cookieValue!=null && !"".equals(cookieValue.trim())){
String[] ids = cookieValue.split("-");
for(String id : ids){
productids.offer(new Integer(id.trim()));
}
if(productids.contains(currentProductId)) productids.remove(currentProductId);
if(productids.size()>=10) productids.poll();
}
productids.offer(currentProductId);
StringBuffer out = new StringBuffer();
for(Integer id : productids){
out.append(id).append('-');
}
out.deleteCharAt(out.length()-1);
return out.toString();
}
}
相关文章推荐
- 购物网站17-1:产品action---品牌列表---品牌管理---生成产品静态页面---前台产品管理----产品列表----产品管理
- 购物网站11:产品Service---品牌---产品信息---产品样式---产品类型---产品搜索---查询结果回调
- 购物网站16-2:权限action-----AOP拦截----自定义注解----权限组分页列表----权限组管理----权限请求处理器
- 购物网站25:FORM----产品----品牌----前台产品----后台产品----产品查询----产品类型
- 购物网站5:产品设计--品牌----产品信息---产品样式---产品类型----性别
- 购物网站20:用户/顾客action----用户列表---用户退出---用户管理---用户登录---用户注册---修改密码---发送邮件
- 牛腩购物32:完成整个网站的功能制作(后台产品列表,多表查询+分页),产品修改保存,图片的上传保存
- 购物网站15:订单action---订单分页列表----订单管理----订单信息查看
- 购物网站16-1:权限action----部门列表---部门管理----员工列表----员工登录---员工注销----员工管理
- 购物网站19:上传文件action---上传文件列表----上传文件管理
- 实现购物网站最近浏览商品的流程
- 使用cookie技术实现大型网站购物网站的商品浏览记录
- jQuery 浮动导航菜单(购物网站商品类型)
- 购物网站讨论2:商品浏览功能实现
- 巴巴运动网商品交易系统对用户最近浏览过的产品列表的技术方案
- jQuery 浮动导航菜单适合购物商品类型的网站
- 购物网站18:购物车列表---购物车管理----配送信息管理----订单确认----支付方式----购物完成----购买管理
- jQuery 浮动导航菜单适合购物商品类型的网站
- 用JS实现购物网站商品放大镜效果
- CSS list-style修改列表属性控制li标签样式