• Sunmoonyue
    了解作者
  • Java
    开发工具
  • 20.9MB
    文件大小
  • rar
    文件格式
  • 0
    收藏次数
  • 1 积分
    下载积分
  • 8
    下载次数
  • 2013-01-14 01:20
    上传日期
电子商务系统:采用ssh+js架构,提供了登陆管理模块、商品管理模块、新闻修改模块,供大家学习交流使用
itanyEportal.rar
内容介绍
package com.itany.struts.action; import java.io.*; import java.util.*; import java.util.regex.Pattern; import javax.servlet.http.HttpServletRequest; import com.opensymphony.xwork2.ActionSupport; import com.opensymphony.xwork2.ModelDriven; import org.apache.commons.beanutils.BeanUtils; import org.apache.struts2.ServletActionContext; import com.itany.entity.*; import com.itany.service.*; import com.itany.util.*; /** 商品管理控制器 */ @SuppressWarnings("serial") public class MerchandiseAction extends ActionSupport implements ModelDriven<Merchandise>{ /** 通过依赖注入MerchandiseServiceImpl与CategoryServiceImpl组件实例 */ MerchandiseService service; CategoryService cateService; /** 商品管理所有请求中常用的参数值 */ private String actionMsg; //Action间传递的消息参数 private List<Merchandise> merList;//商品列表 private String categoryId; //所属分类ID private List<DoubleSelectNode> doubleSelectNodes;//级联商品分类列表 private String category1; //当前选中的第一级商品分类 private String category2; //当前选中的第二级商品分类 /** 上传图片文件的属性 */ private File pic; //上传的图片文件 private File vd; //上传的视频文件 private String picContentType; //上传图片文件的类型 private String picFileName; //上传图片文件的文件名 private String vdContentType; //上传视频文件的类型 private String vdFileName; //上传视频文件的文件名 //采用模型驱动 private Merchandise model=new Merchandise();//用于封装商品属性模型 public Merchandise getModel() { return model; } /** 处理浏览商品请求 */ @SuppressWarnings("unchecked") public String browseMerchandise(){ if(actionMsg!=null){ try { actionMsg = new String(actionMsg.getBytes("ISO8859-1"),"gbk"); } catch (UnsupportedEncodingException e) { e.printStackTrace(); } addActionMessage(actionMsg); } merList = service.browseMerchandise();//调用业务逻辑组件取得商品列表 return SUCCESS; } /** 处理新增商品请求 */ public String addMerchandise(){ try { model.setHtmlPath("/html/mer/"+Tools.getRndFilename()+".html"); //对商品内容进行Escape处理 model.setMerDesc(Tools.escape(model.getMerDesc().trim())); //处理商品的上传图片文件 if (getPicFileName()!=null && getPicFileName().trim().length()>0){ String tempfilename = Tools.getRndFilename()+Tools.getFileExtName(getPicFileName()); String filename = ServletActionContext.getRequest().getRealPath("/upload").replaceAll("\\\\", "/")+"/"+tempfilename; FileOutputStream fos = new FileOutputStream(filename); FileInputStream fis = new FileInputStream(getPic()); byte[] buf = new byte[1024]; int len = 0; while((len=fis.read(buf))>0){ fos.write(buf,0,len); } if (fis!=null)fis.close(); if (fos!=null)fos.close(); model.setPicture("/upload/"+tempfilename); } //处理商品的上传视频文件 if (getVdFileName()!=null && getVdFileName().trim().length()>0){ String tempfilename = Tools.getRndFilename()+Tools.getFileExtName(getVdFileName()); //读取web.xml中配置的streams参数值做为flv文件存放的路径 String filename =ServletActionContext.getServletContext().getInitParameter("streams")+"/"+tempfilename; FileOutputStream fos = new FileOutputStream(filename); FileInputStream fis = new FileInputStream(getVd()); byte[] buf = new byte[1024]; int len = 0; while((len=fis.read(buf))>0){ fos.write(buf,0,len); } if (fis!=null)fis.close(); if (fos!=null)fos.close(); //只保留flv的文件名,不需要保留路径 model.setVideo(tempfilename); } //关联相应的商品分类 if (category2!=null){ //调用业务逻辑组件装载指定的商品类别 model.setCategory(cateService.loadCategory(Integer.valueOf(category2))); }else if(category1!=null){ //调用业务逻辑组件装载指定的商品类别 model.setCategory(cateService.loadCategory(Integer.valueOf(category1))); } } catch (Exception e) { e.printStackTrace(); } if (service.saveOrUpdateMerchandise(model)){//调用业务逻辑组件保存新增的商品 addActionMessage(getText("mer_add_succ")); }else{ addActionMessage(getText("mer_add_fail")); } //构造商品分类级联数据 createDoubleSelect(); return SUCCESS; } /** 处理删除商品请求 */ public String delMerchandise(){ if (model.getId()!=null){ if (service.delMerchandise(model.getId())){//调用业务逻辑组件删除指定的商品 actionMsg = getText("mer_del_succ"); }else{ actionMsg = getText("mer_del_fail"); } }else{ actionMsg = getText("mer_del_fail"); } return "toBrowseMerchandise"; } /** 处理查看商品请求 */ public String viewMerchandise(){ if (model.getId()!=null){ //调用业务逻辑组件装载指定的商品 Merchandise tempMerchandise = service.loadMerchandise(model.getId()); if (tempMerchandise!=null){ try { //快速复制源对象中的所有属性到目标对象中 BeanUtils.copyProperties(model, tempMerchandise); } catch (Exception e) { e.printStackTrace(); } Category tmpCate=tempMerchandise.getCategory(); //取得所属栏目当前值 if (tmpCate.getCategory()!=null){ category2 = tmpCate.getId().toString(); category1 = tmpCate.getCategory().getId().toString(); }else{ category1 = tmpCate.getId().toString(); } //构造商品分类级联数据 createDoubleSelect(); return SUCCESS; }else{ actionMsg = getText("mer_view_fail"); return "toBrowseMerchandise"; } }else{ actionMsg = getText("mer_view_fail"); return "toBrowseMerchandise"; } } /** 处理装载商品请求 */ public String editMerchandise(){ if (model.getId()!=null){ //调用业务逻辑组件装载指定的商品 Merchandise tempMerchandise = service.loadMerchandise(model.getId()); if (tempMerchandise!=null){ try { //快速复制源对象中的所有属性到目标对象中 BeanUtils.copyProperties(model, tempMerchandise); } catch (Exception e) { e.printStackTrace(); } Category tmpCate=tempMerchandise.getCategory(); //取得所属栏目当前值 if (tmpCate.getCategory()!=null){ category2 = tmpCate.getId().toString(); category1 = tmpCate.getCategory().getId().toString(); }else{ category1 = tmpCate.getId().toString(); } //构造商品分类级联数据 createDoubleSelect(); return SUCCESS; }else{ actionMsg = getText("mer_view_fail"); return "toBrowseMerchandise"; } }else{ actionMsg = getText("mer_view_fail"); return "toBrowseMerchandise"; } } /** 处理更新商品请求 */ public String updateMerchandise(){ //调用业务逻辑组件装载指定的商品 Merchandise tempMerchandise = service.loadMerchandise(model.getId()); try { //保留几个字段的原始值 model.setHtmlPath(tempMerchandise.getHtmlPath()); model.setPicture(tempMerchandise.getPicture()); model.setVideo(tempMerchandise.getVideo()); //对商品内容进行Escape处理 model.setMerDesc(Tools.escape(model.getMerDesc().trim())); //处理商品的上传图片文件 if (getPicFileName()!=null && getPicFileName().trim().length()>0){ String tempfilename = Tools.getRndFilename()+Tools.getFileExtName(getPicFileName()); String filename = ServletActionContext.getRequest().getRealPath("/upload").replaceAll("\\\\", "/")+"/"+tempfilename; FileOutputStream fos = new FileOutputStream(filename); FileInputStream fis = new FileInputStream(getPic()); byte[] buf = new byte[1024]; int len = 0; while((len=fis.read(buf))>0){ fos.write(buf,0,len); } if (fis!=null)fis.close(); if (fos!=null)fos.close(); model.setPicture("/upload/"+tempfilename); } //处理商品的上传视频文件 if (getVdFileName()!=null && getVdFileName().trim().length()>0){ String tempfilename = Tools.getRndFilename()+Tools.getFileExtName(getVdFileName()); //读取web.xml中配置的streams参数值做为flv文件存放的路径 String filename =ServletActionContext
评论
    相关推荐
    • 如何讲解项目.rar
      巡检系统是一套专门针对日常巡视检查工作的工作系统,不但可以规范巡检制度,对巡检人员的巡检质量进行有效的监督管理;现已在各类制造业及其它行业得以推广及应用,并取得良好的效果。 主要包括三大模块:员工管理...
    • c-song-information-management-system.zip
      c/c++歌曲信息管理点歌系统,可以作为毕业设计和课程设计,也可以用来学习
    • 400rdm.zip
      用于FPGA的学习,大家值得借鉴,可以好好学习一下
    • awesome-python:精选的Python框架,库和软件的精选清单
      很棒的Python 精选的Python框架,库和软件的精选清单。... 使用接近于普通英语的语言,使用SSH,可以自动执行从代码部署到网络配置到云管理的所有操作,而无需在远程系统上安装代理。 。 一个简单而优雅的HTTP
    • redis缓存安装包和教案
      redis缓存安装软件和学习开发相关文档,包括redis持久化方式的教案,绝对满满的干货
    • 基于JAVA+jsp房地产论文
      基于JAVA+jsp房地产论文 基于JAVA+jsp房地产论文 基于JAVA+jsp房地产论文
    • 电子商城,网上购物系统
      使用JSP+tomcat+MYSQL编写的网上购物系统SSH架构!
    • java简历上的项目集合大全
      项目(一) 项目名称:物流管理系统 项目(二) 项目名称:人力资源管理系统 项目(三) 项目名称:网上图书销售系统。 网上在线数字图书馆 人力资源管理系统
    • lamps-sell-master.zip
      基于ssh框架实现了简单的购物商城系统,有前台和后台管理部分,后台可实现对商品订单的简单管理,非常具有借鉴意义
    • BBS_system_on_java.rar
      BBS论坛系统由JAVA和JSP实现,开发中涉及JavaBean,JSP和服务器Tomcat5.0.7的设置,数据库用SQL2000。有注册登陆,浏览,发帖 回帖,帖子管理,论坛设置,管理版块,用户管理等模块。