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 + -
显示快捷键?