addaction.java

来自「基于SSH (struts+spring+hibernate)框架设计的 C」· Java 代码 · 共 112 行

JAVA
112
字号
/*
 * Generated by MyEclipse Struts
 * Template path: templates/java/JavaClass.vtl
 */
package com.csu.crm.common.action;

import java.io.IOException;

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

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.csu.crm.common.dao.SingleObjectDAO;
import com.csu.crm.common.vo.CrmAction;
import com.csu.crm.util.PrepareUtil;

/**
 * 增加表单记录
 * 必须传入参数: target---目标持久化类名
 * 
 * 增加表单记录的流程
 * 0、 判断传入参数是否符合要求(是否有传入参数,及是否在数据库中存在)
 * 1、 先把session中的属性SelectedXxxx去除
 * 2、 在调用表单jsp页面前,做必要的属性保存,一般为保存页面要用到的下拉框的文本信息
 * 例:
 * 		http://localhost:7076/3eCRM-SSH/add.do?target=CrmCustomer
 * @author 3eCRM小组:曾东
 * @since 2007-9-30 下午04:05:56
 * @version 1.0 创建时间:2007-9-30 下午04:05:56,初始版本
 */
public class AddAction extends Action {
	private PrepareUtil prepareUtil;
	private SingleObjectDAO singleObjectDAO;
	/*
	 * Generated Methods
	 */

	public PrepareUtil getPrepareUtil() {
		return prepareUtil;
	}

	public void setPrepareUtil(PrepareUtil prepareUtil) {
		this.prepareUtil = prepareUtil;
	}

	public SingleObjectDAO getSingleObjectDAO() {
		return singleObjectDAO;
	}

	public void setSingleObjectDAO(SingleObjectDAO singleObjectDAO) {
		this.singleObjectDAO = singleObjectDAO;
	}

	/** 
	 * Method execute
	 * @param mapping
	 * @param form
	 * @param request
	 * @param response
	 * @return ActionForward
	 */
	public ActionForward execute(ActionMapping mapping, ActionForm form,
			HttpServletRequest request, HttpServletResponse response) {
		/**
		 *  ######### 目标持久化类名 -- 主键名 --  session中保存选中对象的属性名 --- 调用的页面路径
		 */
		//0
		//得到request参数
		String target = request.getParameter("target");
		if(target == null) {
			System.out.println("未指出id或target,将进入错误页面");
			request.setAttribute("errorInfo", "必须传入参数: target---目标持久化类名,不能进行对应信息的增加操作");
			return mapping.findForward("fail");
		}		
		
		//到Action操作表中找到对应的一些String参数
		CrmAction crmAction = (CrmAction)singleObjectDAO.getObject("CrmAction", "className", target);
		if(crmAction == null) {
			System.out.println("target输入错误");
			request.setAttribute("errorInfo", "传入参数错误: target---目标持久化类名,不能进行对应信息的增加操作");
			return mapping.findForward("fail");
		}
		String attName = crmAction.getAttrName();
		String path = crmAction.getFormPath();				
		//1
		//把session中的属性SelectedXxxx去除,其中Xxxx为目标持久化类名		
		request.getSession().removeAttribute(attName);
		System.out.println("去除了session里的selectedCusteomer属性");
		
		//2
		//在调用表单jsp页面前,做必要的属性保存,一般为保存页面要用到的下拉框的文本信息
		request =  prepareUtil.prepare(target,request);		
		
		//3
		//调用对应页面
		try {
			RequestDispatcher rd = request.getRequestDispatcher(path);
			rd.forward(request, response);
		} catch (ServletException e) {			
			e.printStackTrace();
		} catch (IOException e) {			
			e.printStackTrace();
		}		
		return null;
	}
}

⌨️ 快捷键说明

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