package cn.itbaizhan.action;
import java.util.Collection;
import java.util.List;
import java.util.Map;
import java.io.File;
import javax.servlet.ServletContext;
import org.apache.commons.io.FileUtils;
import org.apache.struts2.util.ServletContextAware;
import javax.annotation.Resource;
import org.apache.struts2.ServletActionContext;
import org.springframework.context.annotation.Scope;
import org.springframework.stereotype.Component;
import cn.itbaizhan.po.Commodity;
import cn.itbaizhan.po.CommodityClass;
import cn.itbaizhan.service.CommodityClassService;
import cn.itbaizhan.service.CommodityService;
import com.opensymphony.xwork2.ActionContext;
import com.opensymphony.xwork2.ActionSupport;
@SuppressWarnings("serial")
@Component("commodityAction")
@Scope("prototype")//多例,每个请求生成一个新的action
public class CommodityAction extends ActionSupport {
private int commodityClassId;
private Commodity commodity;
private File image; //上传图片文件
private String imageContentType; //上传图片文件类型
private String imageFileName; //上传图片文件名
//要调用CommodityService的方法,所以要声明,让spring把其实现类注入
@Resource(name="commodityServiceImpl")
CommodityService service;
private CommodityClass commodityclass;
@Resource(name="commodityClassServiceImpl")
CommodityClassService commodityClassService;
public int getCommodityClassId() {
return commodityClassId;
}
public void setCommodityClassId(int commodityClassId) {
this.commodityClassId = commodityClassId;
}
public void setService(CommodityService service) {
this.service = service;
}
public CommodityService getService() {
return service;
}
public void setCommodity(Commodity commodity) {
this.commodity = commodity;
}
public Commodity getCommodity() {
return commodity;
}
public void setCommodityClassService(CommodityClassService commodityClassService) {
this.commodityClassService = commodityClassService;
}
public CommodityClassService getCommodityClassService() {
return commodityClassService;
}
public void setCommodityclass(CommodityClass commodityclass) {
this.commodityclass = commodityclass;
}
public CommodityClass getCommodityclass() {
return commodityclass;
}
public File getImage() {
return image;
}
public void setImage(File image) {
this.image = image;
}
public String getImageContentType() {
return imageContentType;
}
public void setImageContentType(String imageContentType) {
this.imageContentType = imageContentType;
}
public String getImageFileName() {
return imageFileName;
}
public void setImageFileName(String imageFileName) {
this.imageFileName = imageFileName;
}
//所有商品列表
@SuppressWarnings("unchecked")
public String listCommodity(){
Map request = (Map) ActionContext.getContext().get("request");
request.put("listCommoditys", service.findAllCommoditys());
System.out.println("listCommoditys");
return "listCommodity";
}
//删除商品
public String deleteCommodity(){
System.out.println(commodity.getCommodityName());
this.service.delete(commodity);
return "deleteCommodity";
}
//按id查找商品
public String findCommodityById(){
int commId= commodity.getCommodityId();
System.out.println(commId);
Commodity commodity = this.service.findCommodityById(commId);
ActionContext.getContext().getSession().put("commodityById", commodity);
return "findCommodityById";
}
//按名称查找商品
@SuppressWarnings("unchecked")
public String findCommodityByName(){
String commodityName= commodity.getCommodityName();
Map request = (Map) ActionContext.getContext().get("request");
request.put("commoditybyName",this.service.findCommodityByName(commodityName));
ActionContext.getContext().getSession().put("searchnameMessage", commodityName);
return "findCommodityByName";
}
//按分类查找商品
@SuppressWarnings("unchecked")
public String findCommodityByClass(){
List<CommodityClass> commodityClasses;// 商品种类列表
System.out.println("commodityClassId:"+commodityClassId);
CommodityClass commodityclasses=commodityClassService.findCommodityClassById(commodityClassId);
Map request = (Map) ActionContext.getContext().get("request");
request.put("commodityByClass", service.findCommodityByClass(commodityclasses));
System.out.println("分类:"+service.findCommodityByClass(commodityclasses));
commodityClasses = commodityClassService.findAllCommodityClasses();// 查询所有的商品种类
request.put("listCommodityClasses", commodityClasses);
ActionContext.getContext().getSession().put("searchClassMessage", commodityclasses.getCommodityClassName());
return "findCommodityByClass";
}
public String updateCommodity(){
this.service.update(commodity);
return "updateCommodity";
}
@SuppressWarnings("unchecked")
public String adCommodity(){
List<CommodityClass> commodityClasses;// 商品种类列表
Map request = (Map) ActionContext.getContext().get("request");
commodityClasses = commodityClassService.findAllCommodityClasses();// 查询所有的商品种类
request.put("commodityClasses", commodityClasses);
System.out.println(commodityClasses.size());
return "addComm";
}
//添加商品
@SuppressWarnings("unchecked")
public String addCommodity(){
List<CommodityClass> commodityClasses;// 商品种类列表
Map request = (Map) ActionContext.getContext().get("request");
commodityClasses = commodityClassService.findAllCommodityClasses();// 查询所有的商品种类
request.put("commodityClasses", commodityClasses);
//图片处理
try{
String RealPath=ServletActionContext.getServletContext().getRealPath("/product");
String fileName=imageFileName;
File file=new File(RealPath,fileName);
FileUtils.copyFile(image,file);
}catch(Exception e){
ActionContext.getContext().put("addComessage", "图片上传失败!");
return "addCommodityError";
}
commodity.setImage(imageFileName);
CommodityClass com=commodityClassService.findCommodityClassById(commodity.getCommodityClass().getCommodityClassId());
System.out.println(com);
commodity.setCommodityClass(com);
List<Commodity> commodityFindname=this.service.findCommodityBName (commodity.getCommodityName());//查询该商品是否存在
if(commodityFindname.size()==0){
this.service.save(this.commodity);
System.out.println("commodity:"+commodity.getCommodityName());
ActionContext.getContext().put("addComessage", commodity.getCommodityName()+"添加成功");
}
else {
ActionContext.getContext().put("addComessage", commodity.getCommodityName()+"已经存在,请重新填写商品信息!");
}
return "addCommoditySuccess";
}
}
没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
在需求调查的基础上,结合网上商城系统的总体目标,对用户提出的需求从信息系统目标、业务功能、技术性能等方面分析,最终确定可行的、合理的系统功能需求。 根据以上分析,确定系统主要功能需求: (1) 登录功能:用户输入用户名和密码,进行登录验证。 (2) 注册功能:可以查询用户名是否已经存在,对注册信息进行验证。 (3) 商品浏览:可以查询商品,显示商品详情,提供购买链接。 (4) 购物车管理:欲购买商品可以增添到购物车,也可以从购物车删除商品。 (5) 订单查询:用户登录后可以下订单,用户登录后也可以查看自己的订单。 (6) 商品种类管理:管理员可以对商品种类进行添加、删除操作。 (7) 商品管理:管理员可以添加商品、删除商品,查看所有商品。 (8) 订单管理:管理员登录后可以对订单进行管理。 (9) 用户管理:管理员可以管理注册用户信息。 数据字典是关于数据的信息的集合,也就是对数据流图中包含的所有元素的定义的集合。数据字典是数据流图上所有的成分的定义和解释的文字的集合,它最重要的用途是供人查询对不了解的条目的解释。 数据字典主要的组成有:数据项、数据流、数据结构、数据存储、处理过程。
资源推荐
资源详情
资源评论
收起资源包目录
基于javaweb的综合购物平台源代码 (433个子文件)
CommodityAction.class 7KB
OrderFormAction.class 6KB
UserAction.class 6KB
AddToCarAction.class 5KB
UserDaoImpl.class 4KB
AdminAction.class 4KB
CommodityClassAction.class 4KB
Commodity.class 3KB
MessageAction.class 3KB
CommodityDaoImpl.class 3KB
CommodityClassDaoImpl.class 3KB
OrderFormDaoImpl.class 3KB
AdminDaoImpl.class 3KB
OrderForm.class 3KB
User.class 3KB
MessageDaoImpl.class 3KB
UserServiceImpl.class 2KB
CommodityServiceImpl.class 2KB
GoIndexAction.class 2KB
CommodityClassServiceImpl.class 2KB
OrderFormServiceImpl.class 2KB
Message.class 2KB
AdminServiceImpl.class 2KB
MessageServiceImpl.class 2KB
Admin.class 1KB
CommodityClass.class 1KB
CommodityService.class 752B
CommodityDao.class 740B
UserService.class 732B
UserDao.class 720B
OrderFormService.class 570B
OrderFormDao.class 558B
CommodityClassService.class 556B
CommodityClassDao.class 544B
AdminService.class 472B
AdminDao.class 460B
MessageService.class 436B
MessageDao.class 424B
.classpath 668B
org.eclipse.wst.common.component 472B
org.eclipse.wst.jsdt.ui.superType.container 49B
newhead.css 23KB
style.css 13KB
css1.css 5KB
Admin.css 4KB
Admin.css 4KB
Admin.css 4KB
CssAdmin.css 3KB
style.css 2KB
style_left.css 2KB
style_left.css 2KB
Thumbs.db 120KB
Thumbs.db 120KB
left_bg.gif 43KB
crm_13.gif 16KB
crm_12.gif 12KB
crm_22.gif 11KB
crm_8.gif 11KB
crm_8_1.gif 8KB
crm_11.gif 8KB
crm_5.gif 8KB
crm_15.gif 7KB
crm_21.gif 7KB
p2.gif 6KB
p2.gif 6KB
laptop.gif 6KB
laptop.gif 6KB
laptop.gif 6KB
crm_7.gif 6KB
p5.gif 6KB
p5.gif 6KB
top_table_leftbg.gif 6KB
crm_4.gif 6KB
p1.gif 5KB
p1.gif 5KB
crm_9.gif 5KB
crm_6.gif 5KB
admin_p.gif 4KB
crm_2.gif 4KB
Login_tit.gif 4KB
crm_19.gif 4KB
crm_17.gif 4KB
crm_14.gif 4KB
p4.gif 4KB
p4.gif 4KB
logo_up.gif 4KB
paymentsby_01.gif 3KB
qqonline.gif 3KB
payment.gif 3KB
payment.gif 3KB
crm_3.gif 3KB
crm_1.gif 2KB
crm_23.gif 2KB
crm_20.gif 2KB
crm_16.gif 2KB
home.gif 2KB
cart_bg.gif 2KB
cart_bg.gif 2KB
Menu_BG.gif 2KB
left_menu_bg.gif 2KB
共 433 条
- 1
- 2
- 3
- 4
- 5
资源评论
明朝焕发
- 粉丝: 2
- 资源: 12
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- bdwptqmxgj11.zip
- onnxruntime-win-x86
- onnxruntime-win-x64-gpu-1.20.1.zip
- vs2019 c++20 语法规范 头文件 <ratio> 的源码阅读与注释,处理分数的存储,加减乘除,以及大小比较等运算
- 首次尝试使用 Win,DirectX C++ 中的形状渲染套件.zip
- 预乘混合模式是一种用途广泛的三合一混合模式 它已经存在很长时间了,但似乎每隔几年就会被重新发现 该项目包括使用预乘 alpha 的描述,示例和工具 .zip
- 项目描述 DirectX 引擎支持版本 9、10、11 库 Microsoft SDK 功能相机视图、照明、加载网格、动画、蒙皮、层次结构界面、动画控制器、网格容器、碰撞系统 .zip
- 项目 wiki 文档中使用的代码教程的源代码库.zip
- 面向对象的通用GUI框架.zip
- 基于Java语言的PlayerBase游戏角色设计源码
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功