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

📄 managesortaction.java

📁 &#61553 网站前台 商品销售排行
💻 JAVA
字号:
package mrgf.action;

import java.util.*;
import javax.servlet.http.*;
import org.apache.struts.action.*;
import mrgf.other.Hibernate;
import mrgf.hibernate.*;
import mrgf.other.SpecialMethod;
import mrgf.form.ManageMerchandiseForm;

public class ManageSortAction extends Action {
	public ActionForward execute(ActionMapping mapping, ActionForm form,
			HttpServletRequest request, HttpServletResponse response) {
		ManageMerchandiseForm sortForm = (ManageMerchandiseForm) form;
		String parameter = mapping.getParameter();
		String forward = "";
		HttpSession session = request.getSession();
		Hibernate hn = new Hibernate();
		// 进入现有类别管理
		if (parameter.equals("manageSortManage")) {
			this.querySorts(request);
			forward = "manage_sort_manage";
		}

		// 类别管理提交
		if (parameter.equals("manageFatherSort")) {
			if (request.getParameter("continue") != null) {
				// 保存可能的修改
				this.updateSortInfo(request);
				this.queryManageSort(request);
			} else if (request.getParameter("submit") != null) {
				// 保存可能的修改
				this.updateSortInfo(request);
				this.queryManageSort(request);
			} else {
				// 点击删除按钮
				if (request.getParameter("delete0") != null) {
					// 删除主类
					String sid = request.getParameter("0");
					int id = Integer.parseInt(sid);
					String hql = "from MerchandiseSort where id=" + id;
					hn.delete(hql);
				} else {
					// 保存可能的修改
					this.updateSortInfo(request);
					// 删除子类
					String slength = request.getParameter("length");
					int length = Integer.parseInt(slength);
					String deleteId = "";
					for (int i = 0; i < length; i++) {
						String p = "delete" + (i + 1);
						if (request.getParameter(p) != null) {
							deleteId = "" + (i + 1);
							break;
						}
					}
					String sSonSortId = request.getParameter(deleteId);
					int sonSortId = Integer.parseInt(sSonSortId);
					String hql = "from MerchandiseSort where id=" + sonSortId;
					MerchandiseSort fatherSort = (MerchandiseSort) hn
							.queryOne(hql);
					hn.delete(fatherSort);
					this.queryManageSort(request);
				}
			}
			this.querySorts(request);
			forward = "manage_sort_manage";
		}

		// 提交类别选择
		if (parameter.equals("selectSorts")) {
			this.querySorts(request);
			String sid = request.getParameter("fatherSort");
			int id = Integer.parseInt(sid);
			String hql = "";
			hql = "from MerchandiseSort where id=" + id;
			MerchandiseSort fatherSort = (MerchandiseSort) hn.queryOne(hql);
			request.setAttribute("fatherSort", fatherSort);
			forward = "manage_sort_manage";
		}

		// 进入添加新类别
		if (parameter.equals("manageSortAdd")) {
			if (session.getAttribute("sort") != null) {
				session.removeAttribute("sort");
			}
			forward = "manage_sort_add";
		}

		// 添加新类别
		if (parameter.equals("addSorts")) {
			SpecialMethod sm = new SpecialMethod();
			if (request.getParameter("Submit") != null) {
				// 持久化新添加的类别
				MerchandiseSort fatherSort;
				if (request.getParameter("isUpdate").equals("false")) {
					if (!request.getParameter("fatherSortName").equals("")
							|| !request.getParameter("sonSortName1").equals("")) {
						fatherSort = new MerchandiseSort();
						fatherSort.setName(sm.toChinese(request
								.getParameter("fatherSortName")));
						for (int i = 1; i < 7; i++) {
							if (!request.getParameter("sonSortName" + i)
									.equals("")) {
								MerchandiseSort sonSort = new MerchandiseSort();
								sonSort.setName(sm.toChinese(request
										.getParameter("sonSortName" + i)));
								sonSort.setPhoto("0");
								fatherSort.getSonSorts().add(sonSort);
								sonSort.setFatherSort(fatherSort);
							}
						}
						// 上传主类别图片
						String dir = servlet.getServletContext().getRealPath(
								"/image/layout/type");
						try {
							sm.upload(dir, sortForm);
						} catch (Exception ex) {
							System.out.println("------在上传图片时抛出异常,内容如下:");
							ex.printStackTrace();
						}
						fatherSort.setPhoto(sortForm.getMerchandisePhotoName());
						try {
							hn.save(fatherSort);
						} catch (Exception e) {
							e.printStackTrace();
						}
						session.setAttribute("sort", fatherSort);
					}
				} else {
					fatherSort = (MerchandiseSort) session.getAttribute("sort");
					fatherSort.setName(sm.toChinese(request
							.getParameter("fatherSortName")));
					Iterator it = fatherSort.getSonSorts().iterator();
					int times = 6;
					int sonSortSize = fatherSort.getSonSorts().size();
					if (sonSortSize > 4) {
						times = sonSortSize + 2;
					}
					MerchandiseSort sonSort;
					for (int i = 1; i <= times; i++) {
						if (!request.getParameter("sonSortName" + i).equals("")) {
							String sonSortName = request
									.getParameter("sonSortName" + i);
							sonSortName = sm.toChinese(sonSortName);
							if (it.hasNext()) {
								sonSort = (MerchandiseSort) it.next();
								sonSort.setName(sonSortName);
							} else {
								sonSort = new MerchandiseSort();
								sonSort.setName(sonSortName);
								fatherSort.getSonSorts().add(sonSort);
								sonSort.setFatherSort(fatherSort);
							}
						}
					}
					try {
						hn.update(fatherSort);
					} catch (Exception e) {
						e.printStackTrace();
					}
					session.setAttribute("sort", fatherSort);
				}
			} else if (request.getParameter("deleteFatherSort") != null) {
				// 删除新添加的主类别
				MerchandiseSort fatherSort = (MerchandiseSort) session
						.getAttribute("sort");
				try {
					hn.delete(fatherSort);
				} catch (Exception e) {
					e.printStackTrace();
				}
				session.removeAttribute("sort");
			} else {
				// 删除新添加的某一子类
				MerchandiseSort fatherSort = (MerchandiseSort) session
						.getAttribute("sort");
				for (int i = 1; i <= fatherSort.getSonSorts().size(); i++) {
					if (request.getParameter("deleteSonSort" + i) != null) {
						String sonSortName = request.getParameter("sonSortName"
								+ i);
						sonSortName = sm.toChinese(sonSortName);
						MerchandiseSort sonSort = (MerchandiseSort) hn
								.queryOne("from MerchandiseSort where name='"
										+ sonSortName + "'");
						hn.delete(sonSort);
						break;
					}
				}
				fatherSort = (MerchandiseSort) hn
						.queryOne("from MerchandiseSort where name='"
								+ fatherSort.getName() + "'");
				session.setAttribute("sort", fatherSort);
			}
			forward = "manage_sort_add";
		}
		return mapping.findForward(forward);
	}

	// execute方法到此结束

	// 下面是一些方法

	// 将添加的类别信息保存到request中
	public List addSortToRequest(HttpServletRequest request, int length) {
		List sorts = new ArrayList();
		for (int i = 0; i < length; i++) {
			String name = "" + i;
			String sort = request.getParameter(name);
			mrgf.other.SpecialMethod sm = new mrgf.other.SpecialMethod();
			sort = sm.toChinese(sort);
			if (!sort.equals("")) {
				sorts.add(sort);
			}
		}
		request.setAttribute("sorts", sorts);
		return sorts;
	}

	// 将添加的类别信息保存到数据库中
	public void saveSortToDataBase(List sorts) {
		MerchandiseSort fatherSort = new MerchandiseSort();
		fatherSort.setName((String) sorts.get(0));
		fatherSort.setPhoto("none");
		for (int i = 1; i < sorts.size(); i++) {
			MerchandiseSort sonSort = new MerchandiseSort();
			sonSort.setName((String) sorts.get(i));
			sonSort.setPhoto("0");
			fatherSort.getSonSorts().add(sonSort);
			sonSort.setFatherSort(fatherSort);
		}
		Hibernate hn = new Hibernate();
		try {
			hn.save(fatherSort);
		} catch (Exception e) {
			e.printStackTrace();
		}
	}

	// 从数据库中获取类别信息
	public void querySorts(HttpServletRequest request) {
		String hql = "";
		Hibernate hn = new Hibernate();
		hql = "from MerchandiseSort where photo<>'0'";
		List fatherSorts = hn.query(hql);
		request.setAttribute("fatherSorts", fatherSorts);
	}

	// 修改类别信息方法
	public void updateSortInfo(HttpServletRequest request) {
		Hibernate hn = new Hibernate();
		SpecialMethod sm = new SpecialMethod();
		String sFatherSortId = request.getParameter("0");
		int fatherSortId = Integer.parseInt(sFatherSortId);
		String hql = "from MerchandiseSort where id=" + fatherSortId;
		MerchandiseSort fatherSort = (MerchandiseSort) hn.queryOne(hql);
		// 修改已有类别名称
		Iterator it = fatherSort.getSonSorts().iterator();
		while (it.hasNext()) {
			MerchandiseSort sonSort = (MerchandiseSort) it.next();
			int id = sonSort.getId();
			String name = request.getParameter("name" + id);
			name = sm.toChinese(name);
			if (!sonSort.getName().equals(name)) {
				sonSort.setName(name);
			}
		}
		// 添加新的子类
		String pName = "name" + request.getParameter("length");
		String sonSortName = request.getParameter(pName);
		if (sonSortName.length() > 0) {
			sonSortName = sm.toChinese(sonSortName);
			MerchandiseSort newSort = new MerchandiseSort();
			newSort.setName(sonSortName);
			newSort.setPhoto("0");
			fatherSort.getSonSorts().add(newSort);
			newSort.setFatherSort(fatherSort);
		}
		hn.update(fatherSort);
	}

	// 返回当前管理类别的信息
	public void queryManageSort(HttpServletRequest request) {
		String sfatherSortId = request.getParameter("0");
		int fatherSortId = Integer.parseInt(sfatherSortId);
		String hql = "from MerchandiseSort where id=" + fatherSortId;
		Hibernate hn = new Hibernate();
		MerchandiseSort fatherSort = (MerchandiseSort) hn.queryOne(hql);
		request.setAttribute("fatherSort", fatherSort);
	}
}

⌨️ 快捷键说明

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