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

📄 productadminaction.java

📁 ssh 实例spring对hibernate的封装
💻 JAVA
字号:
/*
 * Generated by MyEclipse Struts
 * Template path: templates/java/JavaClass.vtl
 */
package com.ssh.struts.action;

import java.util.Calendar;
import java.util.Date;
import java.util.List;
import java.util.regex.Matcher;
import java.util.regex.Pattern;

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.action.ActionMessage;
import org.apache.struts.action.ActionMessages;
import org.apache.struts.actions.DispatchAction;

import com.ssh.hibernate.dao.ProductDao;
import com.ssh.hibernate.dao.SortDao;
import com.ssh.hibernate.pojo.Product;
import com.ssh.hibernate.pojo.Sort;
import com.ssh.struts.form.ProductForm;
import com.ssh.struts.util.PageInfo;

/** 
 * MyEclipse Struts
 * Creation date: 10-30-2008
 * 
 * XDoclet definition:
 * @struts.action path="/productAdmin" name="productAdminForm" input="/addProduct.jsp" parameter="action" scope="request" validate="true"
 * @struts.action-forward name="list" path="/productAdmin.do?action=list"
 */
public class ProductAdminAction extends DispatchAction {
	/**
	 * Product Access Object
	 */
	private ProductDao productDao;
	/**
	 * Sort Access Object
	 */
	private SortDao sortDao;
	
	/*
	 * Generated Methods
	 */

	/**
	 * @return the sortDao
	 */
	public SortDao getSortDao() {
		return sortDao;
	}

	/**
	 * @param sortDao the sortDao to set
	 */
	public void setSortDao(SortDao sortDao) {
		this.sortDao = sortDao;
	}

	/**
	 * @return the productDao
	 */
	public ProductDao getProductDao() {
		return productDao;
	}

	/**
	 * @param productDao the productDao to set
	 */
	public void setProductDao(ProductDao productDao) {
		this.productDao = productDao;
	}

	/** 
	 * Method list
	 * @param mapping
	 * @param form
	 * @param request
	 * @param response
	 * @return ActionForward
	 */
	public ActionForward list(ActionMapping mapping, ActionForm form,
			HttpServletRequest request, HttpServletResponse response) {
		// TODO Auto-generated method stub
		int currentPage = 1;
		if(request.getParameter("page") == null){
			currentPage = 1;
		}else{
			try {
				currentPage = Integer.parseInt(request.getParameter("page"));
			} catch (NumberFormatException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
				currentPage = 1;
			}
		}
		String type = request.getParameter("type");
		String keyword = request.getParameter("keyword");
		if(keyword == null) keyword = "";
		PageInfo pageInfo = new PageInfo();
		pageInfo.setType(type);
		pageInfo.setKeyword(keyword);
		pageInfo.setTotalCount(productDao.getTotalCount(type, keyword));
		pageInfo.setCurrentPage(currentPage);
		List<Product> products = productDao.list((pageInfo.getCurrentPage() - 1) * pageInfo.getPageCount(), pageInfo.getPageCount());
		pageInfo.setPageData(products);
		request.setAttribute("action", "list");
		request.setAttribute("pageInfo", pageInfo);
		return mapping.findForward("all");
	}
	
	/** 
	 * Method add
	 * @param mapping
	 * @param form
	 * @param request
	 * @param response
	 * @return ActionForward
	 */
	public ActionForward add(ActionMapping mapping, ActionForm form,
			HttpServletRequest request, HttpServletResponse response) {
		ProductForm productForm = (ProductForm) form;// TODO Auto-generated method stub
		String submit = request.getParameter("submit");
		if("true".equals(submit)){
			if(this.validate(productForm, request)){
				Sort sort = sortDao.load(new Long(productForm.getType()));
				Product product = new Product();
				product.setName(productForm.getName());
				product.setSort(sort);
				product.setSaleprice(Double.parseDouble(productForm.getSaleprice()));
				product.setPrice(Double.parseDouble(productForm.getPrice()));
				product.setSaledate(this.convertToDate(productForm.getSaledate()));
				product.setDescript(productForm.getDescript());
				product.setContents(productForm.getContents());
				product.setSalecount(Long.parseLong(productForm.getSalecount()));
				product.setImage(productForm.getImage());
				if(productDao.save(product)){
					return mapping.findForward("list");
				}else{
					ActionMessages errors = new ActionMessages();
					errors.add(ActionMessages.GLOBAL_MESSAGE, new ActionMessage("error.product.save"));
					this.saveErrors(request, errors);
					return mapping.findForward("failure");
				}
			}else{
//				ActionMessages errors = new ActionMessages();
//				errors.add("saledate", new ActionMessage("error.date.pattern"));
//				this.saveErrors(request, errors);
				List<Sort> sorts = sortDao.list();
				request.setAttribute("sorts", sorts);
				return mapping.findForward("add");
			}
		}
		List<Sort> sorts = sortDao.list();
		request.setAttribute("sorts", sorts);
		return mapping.findForward("add");
	}
	
	/** 
	 * Method delete
	 * @param mapping
	 * @param form
	 * @param request
	 * @param response
	 * @return ActionForward
	 */
	public ActionForward delete(ActionMapping mapping, ActionForm form,
			HttpServletRequest request, HttpServletResponse response) {
		// TODO Auto-generated method stub
		String id = request.getParameter("id");
		Product product = productDao.load(new Long(id));
		if(product !=null && productDao.delete(product)){
			return mapping.findForward("list");
		}else{
			ActionMessages errors = new ActionMessages();
			errors.add(ActionMessages.GLOBAL_MESSAGE, new ActionMessage("error.product.delete"));
			this.saveErrors(request, errors);
			return mapping.findForward("failure");
		}
	}
	
	/** 
	 * Method query
	 * @param mapping
	 * @param form
	 * @param request
	 * @param response
	 * @return ActionForward
	 */
	public ActionForward query(ActionMapping mapping, ActionForm form,
			HttpServletRequest request, HttpServletResponse response) {
		// TODO Auto-generated method stub
		int currentPage = 1;
		if(request.getParameter("page") == null){
			currentPage = 1;
		}else{
			try {
				currentPage = Integer.parseInt(request.getParameter("page"));
			} catch (NumberFormatException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
				currentPage = 1;
			}
		}
		String type = request.getParameter("type");
		String keyword = request.getParameter("keyword");
		if(keyword == null) keyword = "";
		PageInfo pageInfo = new PageInfo();
		pageInfo.setType(type);
		pageInfo.setKeyword(keyword);
		pageInfo.setTotalCount(productDao.getTotalCount(type, keyword));
		pageInfo.setCurrentPage(currentPage);
		if("product_name".equals(type)){
			/*
			 * 按产品名称查询
			 */
			List<Product> products = productDao.findByName(pageInfo.getKeyword(), (pageInfo.getCurrentPage() - 1) * pageInfo.getPageCount(), pageInfo.getPageCount());
			pageInfo.setPageData(products);
			request.setAttribute("action", "query");
			request.setAttribute("pageInfo", pageInfo);
			return mapping.findForward("all");
		}else if("sort_name".equals(type)){
			/*
			 * 按产品种类查询
			 */
			List<Product> products = productDao.findBySort(pageInfo.getKeyword(), (pageInfo.getCurrentPage() - 1) * pageInfo.getPageCount(), pageInfo.getPageCount());
			pageInfo.setPageData(products);
			request.setAttribute("action", "query");
			request.setAttribute("pageInfo", pageInfo);
			return mapping.findForward("all");
		}else{
			/*
			 * 查询产品的详细信息
			 */
			String id = request.getParameter("id");
			Product product = productDao.load(new Long(id));
			request.setAttribute("product", product);
			return mapping.findForward("view");
		}
	}
	/** 
	 * Method update
	 * @param mapping
	 * @param form
	 * @param request
	 * @param response
	 * @return ActionForward
	 */
	public ActionForward update(ActionMapping mapping, ActionForm form,
			HttpServletRequest request, HttpServletResponse response) {
		ProductForm productForm = (ProductForm)form;// TODO Auto-generated method stub
		String id = request.getParameter("id");
		String submit = request.getParameter("submit");
		if("true".equals(submit)){
			if(this.validate(productForm, request)){
				Sort sort = sortDao.load(new Long(productForm.getType()));
				Product product = new Product();
				product.setId(new Long(id));
				product.setName(productForm.getName());
				product.setSort(sort);
				product.setSaleprice(Double.parseDouble(productForm.getSaleprice()));
				product.setPrice(Double.parseDouble(productForm.getPrice()));
				product.setSaledate(this.convertToDate(productForm.getSaledate()));
				product.setDescript(productForm.getDescript());
				product.setContents(productForm.getContents());
				product.setSalecount(Long.parseLong(productForm.getSalecount()));
				product.setImage(productForm.getImage());
				if(productDao.update(product)){
					return mapping.findForward("list");
				}else{
					ActionMessages errors = new ActionMessages();
					errors.add(ActionMessages.GLOBAL_MESSAGE, new ActionMessage("error.product.update"));
					this.saveErrors(request, errors);
					return mapping.findForward("failure");
				}
			}else{
//				ActionMessages errors = new ActionMessages();
//				errors.add("saledate", new ActionMessage("error.date.pattern"));
//				this.saveErrors(request, errors);
				Product product = productDao.load(new Long(id));
				List<Sort> sorts = sortDao.list();
				request.setAttribute("sorts", sorts);
				request.setAttribute("product", product);
				return mapping.findForward("update");
			}
		}
		Product product = productDao.load(new Long(id));
		List<Sort> sorts = sortDao.list();
		request.setAttribute("sorts", sorts);
		request.setAttribute("product", product);
		return mapping.findForward("update");
	}
	
	/**
	 * Method convertToDate
	 * convert type of date with String to java.util.Date
	 * @param dateString
	 * @return Date
	 */
	private Date convertToDate(String dateString){
		int year = Integer.parseInt(dateString.substring(0, 4));
		int month = Integer.parseInt(dateString.substring(5, 7));
		int day = Integer.parseInt(dateString.substring(8, 10));
		Calendar cal = Calendar.getInstance();
		cal.set(year, month - 1, day);
		return cal.getTime();
	}
	
//	/**
//	 * Method validate
//	 * validate the pattern of date whether matching the pattern defined, such as 2008-08-01
//	 * @param date
//	 * @return boolean
//	 */
//	private boolean validate(String date){
//		Pattern pattern = Pattern.compile("\\d{4}-\\d{2}-\\d{2}");
//		Matcher matcher = pattern.matcher(date);
//		if(matcher.find()){
//			return true;
//		}else{
//			return false;
//		}
//	}
	/**
	 * Method validate
	 * ActionForm validate
	 * @param productForm
	 * @param request
	 * @return boolean
	 */
	private boolean validate(ProductForm productForm, HttpServletRequest request){
		ActionMessages errors = new ActionMessages();
		/*
		 * 定义日期的格式,例如:2008-09-01
		 */
		Pattern pattern = Pattern.compile("\\d{4}-\\d{2}-\\d{2}");
		Matcher matcher = pattern.matcher(productForm.getSaledate());
		/*
		 * 判断日期格式是否匹配
		 */
		if(matcher.find()){
			/*
			 * 判断价格是否为数字,若发生异常,则为非数字
			 */
			try {
				Double.parseDouble(productForm.getPrice());
			} catch (NumberFormatException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
				errors.add("price", new ActionMessage("error.price.pattern"));
				this.saveErrors(request, errors);
				return false;
			}
			/*
			 * 判断销售价格是否为数字,若发生异常,则为非数字
			 */
			try {
				Double.parseDouble(productForm.getSaleprice());
			} catch (NumberFormatException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
				errors.add("saleprice", new ActionMessage("error.saleprice.pattern"));
				this.saveErrors(request, errors);
				return false;
			}
			/*
			 * 判断销售数量是否为数字,若发生异常,则为非数字
			 */
			try {
				Long.parseLong(productForm.getSalecount());
			} catch (NumberFormatException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
				errors.add("salecount", new ActionMessage("error.salecount.pattern"));
				this.saveErrors(request, errors);
				return false;
			}
			return true;
		}else{
			errors.add("saledate", new ActionMessage("error.date.pattern"));
			this.saveErrors(request, errors);
			return false;
		}
	}
}

⌨️ 快捷键说明

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