`
xxp3369
  • 浏览: 152423 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

ssh_training_itemmgr 03

阅读更多
DrpExceptionHandler.java

package com.bjsxt.drp.web.util;

import org.apache.struts.action.ExceptionHandler;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.apache.struts.Globals;
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.config.ExceptionConfig;

import com.bjsxt.drp.business.util.AppException;
import com.bjsxt.drp.business.util.AppException;

/**
 * 个性化异常处理类
 */
public class DrpExceptionHandler extends ExceptionHandler {
    public ActionForward execute(
            Exception ex,
            ExceptionConfig ae,
            ActionMapping mapping,
            ActionForm formInstance,
            HttpServletRequest request,
            HttpServletResponse response)
            throws ServletException {
        
        if (!(ex instanceof AppException )) {
            return super.execute(ex, ae, mapping, formInstance, request, response);
        }
        
        AppException  errCodeEx =(AppException) ex;
        ActionForward forward = null;
        ActionMessage error = null;
        String property = null;

        // Build the forward from the exception mapping if it exists
        // or from the form input
        if (ae.getPath() != null) {
            forward = new ActionForward(ae.getPath());
        } else {
            forward = mapping.getInputForward();
        }
        
        //----------处理个性化异常-------------
        AppException ece =(AppException) ex;
        String errorCode =ece.getErrorCode();
        error = new ActionMessage(errorCode, ece.getArgs());
        property = error.getKey();
        //-----------------------------------
        
        logException(ex);

        // Store the exception
        request.setAttribute(Globals.EXCEPTION_KEY, ex);
        storeException(request, property, error, forward, ae.getScope());

        return forward;
    }

}



LoginActionForm.java


package com.bjsxt.drp.web.itemmgr.forms;

import javax.servlet.http.HttpServletRequest;

import org.apache.struts.action.ActionErrors;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionMapping;

/**
 * 收集表单数据的ActionForm,ActionForm中的属性必须与html中表单中的name名称一致
 * @author Administrator
 *
 */
public class LoginActionForm extends ActionForm {

	private String username;
	
	private String password;

	public String getUsername() {
		return username;
	}

	public void setUsername(String username) {
		this.username = username;
	}

	public String getPassword() {
		return password;
	}

	public void setPassword(String password) {
		this.password = password;
	}
	
}



ItemActionForm.java

package com.bjsxt.drp.web.itemmgr.forms;

import org.apache.struts.action.ActionForm;
import org.apache.struts.upload.FormFile;

public class ItemActionForm extends ActionForm {

    //物料代码
	private String itemNo;
	
	//物料名称
	private String itemName;
	
	//规格
	private String spec;
	
	//型号
	private String pattern;
	
	//类型
	private String categoryId;
	
	//单位
	private String unitId;
	
	//收集物料代码,主要用户批量删除
	private String[] selectFlag;
	
	//查询条件
	private String clientIdOrName;
	
	//上传的文件名
	private FormFile fileName;
	
	//第几页
	private int pageNo;
	
	//每页多少条
	private int pageSize;

	public String getItemName() {
		return itemName;
	}

	public void setItemName(String itemName) {
		this.itemName = itemName;
	}

	public String getItemNo() {
		return itemNo;
	}

	public void setItemNo(String itemNo) {
		this.itemNo = itemNo;
	}

	public String getPattern() {
		return pattern;
	}

	public void setPattern(String pattern) {
		this.pattern = pattern;
	}

	public String getSpec() {
		return spec;
	}

	public void setSpec(String spec) {
		this.spec = spec;
	}

	public String[] getSelectFlag() {
		return selectFlag;
	}

	public void setSelectFlag(String[] selectFlag) {
		this.selectFlag = selectFlag;
	}

	public String getClientIdOrName() {
		return clientIdOrName;
	}

	public void setClientIdOrName(String clientIdOrName) {
		this.clientIdOrName = clientIdOrName;
	}

	public String getCategoryId() {
		return categoryId;
	}

	public void setCategoryId(String categoryId) {
		this.categoryId = categoryId;
	}

	public String getUnitId() {
		return unitId;
	}

	public void setUnitId(String unitId) {
		this.unitId = unitId;
	}

	public FormFile getFileName() {
		return fileName;
	}

	public void setFileName(FormFile fileName) {
		this.fileName = fileName;
	}

	public int getPageNo() {
		return pageNo;
	}

	public void setPageNo(int pageNo) {
		this.pageNo = pageNo;
	}

	public int getPageSize() {
		return pageSize;
	}

	public void setPageSize(int pageSize) {
		this.pageSize = pageSize;
	}	
}


BaseAction.java

package com.bjsxt.drp.web.itemmgr.actions;

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;

public class BaseAction extends DispatchAction {

	@Override
	public ActionForward execute(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception {
		if (request.getSession().getAttribute("user") == null) {
			return mapping.findForward("index");
		}
		
		return super.execute(mapping, form, request, response);
	}

}


ChangeLanguageAction.java


package com.bjsxt.drp.web.itemmgr.actions; 

import java.util.Locale;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.apache.struts.Globals;
import org.apache.struts.action.Action;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;

public class ChangeLanguageAction extends Action {
	
    public ActionForward execute(
            ActionMapping mapping,
            ActionForm form,
            HttpServletRequest request,
            HttpServletResponse response)
            throws Exception {
    	String lan = request.getParameter("lan");
    	Locale currentLocale = null;
    	if ("en".equals(lan)) {
    		currentLocale = new Locale("en", "US");
    	}else if ("zh".equals(lan)) {
    		currentLocale = new Locale("zh", "CN");
    	}
    	request.getSession().setAttribute(Globals.LOCALE_KEY, currentLocale);
    	return mapping.findForward("success");
    } 	
}


ItemAction.java

package com.bjsxt.drp.web.itemmgr.actions;

import java.io.FileOutputStream;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.apache.commons.beanutils.BeanUtils;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;
import org.apache.struts.upload.FormFile;

import com.bjsxt.drp.business.itemmgr.manager.ItemManager;
import com.bjsxt.drp.business.itemmgr.model.Item;
import com.bjsxt.drp.business.itemmgr.model.ItemCategory;
import com.bjsxt.drp.business.itemmgr.model.ItemUnit;
import com.bjsxt.drp.business.util.PageModel;
import com.bjsxt.drp.web.itemmgr.forms.ItemActionForm;

/**
 * 统一处理所有的请求
 * @author Administrator
 *
 */
public class ItemAction extends BaseAction {

	private ItemManager itemManager;
	
	private String uploadPath;
	
	/**
	 * 如果没有传递任何标识参数(如command参数),则默认调用unspecified方法
	 */
	protected ActionForward unspecified(ActionMapping mapping, ActionForm form,
			HttpServletRequest request, HttpServletResponse response)
			throws Exception {
		System.out.println("ItemAction=>>unspecified()");
		ActionForward listActionForward = new ActionForward("/index.jsp", true);
		return listActionForward;
	}

	/**
	 * 添加物料
	 * 
	 * @param mapping
	 * @param form
	 * @param request
	 * @param response
	 * @return
	 * @throws Exception
	 */
	public ActionForward add(ActionMapping mapping, ActionForm form,
			HttpServletRequest request, HttpServletResponse response)
			throws Exception {
		//获取从页面表单中提交过来的值
		ItemActionForm iaf = (ItemActionForm)form;
		
		//创建Item实体对象,并将ActionForm中的内容设置到Item对象中
		Item item = new Item();
		
		//将属性值从ItemActionForm对象拷贝到Item对象
		BeanUtils.copyProperties(item, iaf);
		
		//设置ItemCategory
		ItemCategory ic = new ItemCategory();
		ic.setId(iaf.getCategoryId());
		item.setCategory(ic);
		
		//设置itemUnit
		ItemUnit iu = new ItemUnit();
		iu.setId(iaf.getUnitId());
		item.setUnit(iu);
		
		//调用业务逻辑操作
		itemManager.addItem(item);
		ActionForward af = new ActionForward("item.do?command=list&pageNo=" + 
				                              iaf.getPageNo() + 
				                              "&pageSize=" + iaf.getPageSize(), true);
		return af;
	}

	/**
	 * 删除物料
	 * 
	 * @param mapping
	 * @param form
	 * @param request
	 * @param response
	 * @return
	 * @throws Exception
	 */
	public ActionForward del(ActionMapping mapping, ActionForm form,
			HttpServletRequest request, HttpServletResponse response)
			throws Exception {
		//获取从页面表单中提交过来的值
		ItemActionForm iaf = (ItemActionForm)form;
		
		//调用业务逻辑操作
		itemManager.deleteItem(iaf.getSelectFlag());
		ActionForward af = new ActionForward("item.do?command=list&pageNo=" + 
                iaf.getPageNo() + 
                "&pageSize=" + iaf.getPageSize(), true);
		return af;
	}

	/**
	 * 根据物料代码查询需要修改的物料
	 * 
	 * @param mapping
	 * @param form
	 * @param request
	 * @param response
	 * @return
	 * @throws Exception
	 */
	public ActionForward modifyDetail(ActionMapping mapping, ActionForm form,
			HttpServletRequest request, HttpServletResponse response)
			throws Exception {
		//获取从页面表单中提交过来的值
		ItemActionForm iaf = (ItemActionForm)form;
		
		//调用业务逻辑操作
		Item item = itemManager.findItemById(iaf.getItemNo());
		
		//将查询结果放到request中
		request.setAttribute("item", item);
		return mapping.findForward("modify_detail");
	}

	/**
	 * 修改物料
	 * 
	 * @param mapping
	 * @param form
	 * @param request
	 * @param response
	 * @return
	 * @throws Exception
	 */
	public ActionForward modify(ActionMapping mapping, ActionForm form,
			HttpServletRequest request, HttpServletResponse response)
			throws Exception {
		//获取从页面表单中提交过来的值
		ItemActionForm iaf = (ItemActionForm)form;
		
		//创建Item实体对象,并将ActionForm中的内容设置到Item对象中
		Item item = new Item();
		
		//将属性值从ItemActionForm对象拷贝到Item对象
		BeanUtils.copyProperties(item, iaf);
				
		//设置ItemCategory
		ItemCategory ic = new ItemCategory();
		ic.setId(iaf.getCategoryId());
		item.setCategory(ic);
		
		//设置itemUnit
		ItemUnit iu = new ItemUnit();
		iu.setId(iaf.getUnitId());
		item.setUnit(iu);
		
		//调用业务逻辑操作
		itemManager.modifyItem(item);
		ActionForward af = new ActionForward("item.do?command=list&pageNo=" + 
                iaf.getPageNo() + 
                "&pageSize=" + iaf.getPageSize(), true);
		return af;
	}

	/**
	 * 根据物料代码查询物料
	 * 
	 * @param mapping
	 * @param form
	 * @param request
	 * @param response
	 * @return
	 * @throws Exception
	 */
	public ActionForward findDetail(ActionMapping mapping, ActionForm form,
			HttpServletRequest request, HttpServletResponse response)
			throws Exception {
		//获取从页面表单中提交过来的值
		ItemActionForm iaf = (ItemActionForm)form;
		
		//调用业务逻辑操作
		Item item = itemManager.findItemById(iaf.getItemNo());
		
		//将查询结果放到request中
		request.setAttribute("item", item);

		return mapping.findForward("find_detail");
	}

	/**
	 * 查询全部物料
	 * 
	 * @param mapping
	 * @param form
	 * @param request
	 * @param response
	 * @return
	 * @throws Exception
	 */
	public ActionForward list(ActionMapping mapping, ActionForm form,
			HttpServletRequest request, HttpServletResponse response)
			throws Exception {
		//获取从页面表单中提交过来的值
		ItemActionForm iaf = (ItemActionForm)form;
		
		//调用业务逻辑操作
		PageModel pageModel = itemManager.findAllItem(iaf.getPageNo(), iaf.getPageSize(), iaf.getClientIdOrName());
	
		//将查询结果放到request中
		request.setAttribute("pagemodel", pageModel);
	
		return mapping.findForward("list_success");
	}

	/**
	 * upload页面详细信息
	 * 
	 * @param mapping
	 * @param form
	 * @param request
	 * @param response
	 * @return
	 * @throws Exception
	 */
	public ActionForward uploadDetail(ActionMapping mapping, ActionForm form,
			HttpServletRequest request, HttpServletResponse response)
			throws Exception {

		//获取从页面表单中提交过来的值
		ItemActionForm iaf = (ItemActionForm)form;
		
		//调用业务逻辑操作
		Item item = itemManager.findItemById(iaf.getItemNo());
		
		//将查询结果放到request中
		request.setAttribute("item", item);
		
		return mapping.findForward("upload_detail");
	}

	/**
	 * 上传图片
	 * 
	 * @param mapping
	 * @param form
	 * @param request
	 * @param response
	 * @return
	 * @throws Exception
	 */
	public ActionForward upload(ActionMapping mapping, ActionForm form,
			HttpServletRequest request, HttpServletResponse response)
			throws Exception {
		//获取从页面表单中提交过来的值
		ItemActionForm iaf = (ItemActionForm)form;
		FormFile myFile = iaf.getFileName();
		if(myFile != null){
			//将上传的文件流保存到磁images/item下
			//String realPath = request.getContextPath().getRealPath("/images/item");
			//System.out.println("realpath" + );
			//FileOutputStream fos = new FileOutputStream("C:\\apache-tomcat-5.5.17\\webapps\\struts_training_itemmgr\\images\\item\\"+iaf.getItemNo() + ".gif");
			FileOutputStream fos = new FileOutputStream(this.uploadPath + iaf.getItemNo() + ".gif");
			fos.write(myFile.getFileData());
			fos.flush();
			fos.close();
		}
		ActionForward af = new ActionForward("item.do?command=list&pageNo=" + 
                iaf.getPageNo() + 
                "&pageSize=" + iaf.getPageSize(), true);
		return af;
	}

	public void setItemManager(ItemManager itemManager) {
		this.itemManager = itemManager;
	}

	public void setUploadPath(String uploadPath) {
		this.uploadPath = uploadPath;
	}

}


LoginAction.java

package com.bjsxt.drp.web.itemmgr.actions;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.apache.commons.beanutils.PropertyUtils;
import org.apache.struts.action.Action;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;

import com.bjsxt.drp.web.itemmgr.forms.LoginActionForm;

/**
 * 用户登录Action
 * @author Administrator
 *
 */
public class LoginAction extends Action {

	@Override
	public ActionForward execute(ActionMapping mapping, ActionForm form,
			HttpServletRequest request, HttpServletResponse response)
			throws Exception {
		LoginActionForm laf = (LoginActionForm)form;
		String username = laf.getUsername();
		String password = laf.getPassword();
		
		if ("admin".equals(username) && "admin".equals(password)) {
			request.getSession().setAttribute("user", "admin");
			return mapping.findForward("sucess");
		}else {
			return mapping.findForward("index");
		}
	}

}


分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics