📄 productadminaction.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 + -