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

📄 productaction.java

📁 java学习的必要的资料,servlet的说明很好
💻 JAVA
字号:
package com.estore.struts.action;import java.util.Collection;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.actions.DispatchAction;import com.estore.struts.Globals;import com.estore.struts.entity.Catalog;import com.estore.struts.entity.Product;import com.estore.struts.service.ProductService;import com.estore.struts.utils.PageHelper;import com.estore.struts.utils.ServiceFactory;public class ProductAction extends DispatchAction {	private static ProductService productService;	static {		productService = (ProductService) ServiceFactory.getInstance()				.getService(Globals.PRODUCT_SERVICE);	}	/*	 * 第一个页面,从数据库中获得商品,并且进行了,分页处理;	 */	public ActionForward listAll(ActionMapping mapping, ActionForm form,			HttpServletRequest request, HttpServletResponse response)			throws Exception {		return listByPage(mapping, form, request, response);	}	public ActionForward listDetail(ActionMapping mapping, ActionForm form,			HttpServletRequest request, HttpServletResponse response) {		Integer id = Integer.parseInt(request.getParameter("productid"));		request.setAttribute("product", productService.getProductById(id));		return mapping.findForward("listdetail");	}	/*	 * 搜索想要的产品,根据不同的搜索规则从数据库中取得相应的结果;	 */	public ActionForward searchProduct(ActionMapping mapping, ActionForm form,			HttpServletRequest request, HttpServletResponse response) {		String text = request.getParameter("text");		String rule = request.getParameter("radio");		String catalog = request.getParameter("catalog");				if(! catalog.equals("0")){			text = catalog;			rule = "catalog";		}		if(text.equals("")){			request.setAttribute("message","请输入您要查询的内容,请<a onclick='javascript:history.go(-1)' style='color:red;'>返回</a>!");			return mapping.findForward("error");		}		if(rule == null){			request.setAttribute("message","请选择一种查询规则,请<a onclick='javascript:history.go(-1)' style='color:red;'>返回</a>!");			return mapping.findForward("error");		}		Collection<Product> searchproduct = productService.searchProduct(text,rule);		request.setAttribute("products", searchproduct);		int size = searchproduct.size();		request.setAttribute("size", size);		return mapping.findForward("listall");	}	/*	 * 将自己所需要的商品添加到数据库中;	 */	public ActionForward addProduct(ActionMapping mapping, ActionForm form,			HttpServletRequest request, HttpServletResponse response) {		String tag = request.getParameter("tag");		if (tag.equalsIgnoreCase("true")) {			String name = request.getParameter("name");			System.out.println("00000000000000000000"+name);			String author = request.getParameter("author");			double price = Double.valueOf(request.getParameter("price"));			String printer = request.getParameter("printer");			String isbn = request.getParameter("isbn");			int booknum = Integer.valueOf(request.getParameter("booknum"));			String description = request.getParameter("description");			String imagepath = request.getParameter("imagepath");			int catalogid = Integer.valueOf(request.getParameter("catalog"));			Catalog catalog = productService.getCatalog(catalogid);			Product product = new Product();			product.setCatalog(catalog);			//			1,如果catalog.hbm.xml中将set集合的lazy="true",在向catalog的集合中//			  添加商品product时,会报出延迟加载异常;//			  因为catalog是刚从数据库中拿过来的,而没有立即抓取集合造成的;//			2,如果catalog.hbm.xml中将set集合的lazy="true",在向catalog的集合中//			  添加商品product时,会报出延迟加载异常;//			  因为catalog是刚从数据库中拿过来的,处于游离状态,数据库中有相应的记录;//			  而product是刚new出来的,处于临时状态,在向catalog的集合中添加时,会找//			  不到相应的id, 正体现了hibernate是通过id来操作持久化对象的;//			catalog.getProducts().add(product);						product.setName(name);			product.setAuthor(author);			product.setPrice(price);			product.setPrinter(printer);			product.setIsbn(isbn);			product.setBooknum(booknum);			product.setDescription(description);			product.setImagepath(imagepath);			product.setCreatetime(new java.sql.Date(System.currentTimeMillis()));			product.setState(0);			productService.addProduct(product);			Collection<Product> products = productService.getProducts();			int size = products.size();			request.setAttribute("size", size);			request.setAttribute("products", products);			return mapping.findForward("listall");		} else {			return mapping.findForward("addproduct");		}	}	/*	 * 辅助方法	 */	public ActionForward listByPage(ActionMapping mapping, ActionForm form,			HttpServletRequest request, HttpServletResponse response)			throws Exception {		int page = 1;		try {			//第一次因为没有设置page属性,所以会抛个空指针异常,捕获之后将page设置为1;			page = Integer.parseInt(request.getParameter("page"));		} catch (Exception ex) {			page = 1;		}		PageHelper pageHelper = new PageHelper();		pageHelper.setPageSize(Globals.PAGE_SIZE);		pageHelper.setCurrentPage(page);		pageHelper.setMaxCount(productService.getProudctCount());		Collection<Product> products = productService.getProductsByPages(page);		request.setAttribute("navigation", pageHelper.showNavigation("listAll"));		request.setAttribute("products", products);		int size = products.size();		request.setAttribute("size", size);		return mapping.findForward("listall");	}}

⌨️ 快捷键说明

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