📄 departmentaction.java
字号:
/*
* Generated by MyEclipse Struts
* Template path: templates/java/JavaClass.vtl
*/
package com.support.struts.action;
import java.io.PrintWriter;
import java.util.List;
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.support.hibernate.table.SDepartment;
import com.support.hibernate.table.SDepartmentDAO;
import com.support.struts.form.DepartmentForm;
/**
* MyEclipse Struts
* Creation date: 08-07-2007
*
* XDoclet definition:
* @struts.action path="/department" name="departmentForm" input="/admin/department/index.jsp" scope="request" validate="true"
* @struts.action-forward name="success" path="/admin/department/index.jsp"
*/
public class DepartmentAction extends Action {
/*
* Generated Methods
*/
/**
* Method execute
* @param mapping
* @param form
* @param request
* @param response
* @return ActionForward
*/
public ActionForward execute(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response) {
DepartmentForm departmentForm = (DepartmentForm) form;// TODO Auto-generated method stub
int flag = departmentForm.getFlag();
switch (flag) {
case 0://返回初始化部门信息
getAllDepartment(request,response);
return mapping.findForward("success");
case 1://返回指定节点的菜单信息
getAllDepartment(request,response);
return null;
case 2://返回选中节点的信息
getDepartmentInfo(departmentForm);
return mapping.findForward("success");
case 3://增加同级节点
dealItem(departmentForm,request,response);
return mapping.findForward("success");
case 4://增加子节点
dealItem(departmentForm,request,response);
return mapping.findForward("success");
case 5://修改选中节点
dealItem(departmentForm,request,response);
return mapping.findForward("success");
case 6://删除选中节点
dealItem(departmentForm,request,response);
return mapping.findForward("success");
default:
break;
}
return null;
}
/**
* 返回部门信息列表
* @param request
* @param response
*/
public void getAllDepartment(HttpServletRequest request, HttpServletResponse response) {
String parentId = request.getParameter("parentId");
if (parentId == null) parentId = "0";
SDepartmentDAO dao = new SDepartmentDAO();
List departmentList = dao.findByParentId(parentId);
if (parentId.trim().equals("0")) {
request.setAttribute("departmentList", departmentList);
} else {
//以xml的格式输出节点信息
response.setHeader("Cache-Control", "no-cache");
response.setContentType("text/xml; charset=GBK");
String path = request.getContextPath()+"/department.do?";
StringBuffer xmlString = new StringBuffer("<?xml version=\"1.0\" encoding=\"GBK\" ?><tree>");
for (int i = 0;i < departmentList.size(); i ++) {
SDepartment departmentItem = (SDepartment)departmentList.get(i);
List childrenList = dao.findByParentId(departmentItem.getId());
int nodeType = 0;//非叶子节点
if (childrenList.size() < 1) nodeType = 1;//叶子节点
if (nodeType == 0) {
xmlString.append("<tree text=\"");
xmlString.append(departmentItem.getName());
xmlString.append("\" src=\"");
xmlString.append(path);
xmlString.append("flag=1&parentId=");
xmlString.append(departmentItem.getId());
xmlString.append("\" action=\"javascript:doSelect('");
xmlString.append(departmentItem.getId());
xmlString.append("')\" />");
} else if (nodeType == 1) {
xmlString.append("<tree text=\"");
xmlString.append(departmentItem.getName());
xmlString.append("\" action=\"javascript:doSelect('");
xmlString.append(departmentItem.getId());
xmlString.append("')\" />");
}
}
xmlString.append("</tree>");
try {
PrintWriter out = response.getWriter();
out.println(xmlString.toString());
// System.out.println(xmlString.toString());
} catch (Exception e) {
e.printStackTrace();
}
}
}
/**
* 返回指定部门的信息
* @param departmentForm
*/
public void getDepartmentInfo(DepartmentForm form) {
String id = form.getId();
SDepartmentDAO dao = new SDepartmentDAO();
dao.getSession().clear();
SDepartment item = dao.findById(id);
form.setId(item.getId());
form.setDescription(item.getDescription());
form.setName(item.getName());
}
/**
*
* @param departmentForm
* @param request
* @param response
*/
public void dealItem(DepartmentForm form,HttpServletRequest request, HttpServletResponse response) {
int flag = form.getFlag();
String id = form.getId();
if (id.trim().equals("")) {
id = "0";
}
String name = form.getName();
String description = form.getDescription();
SDepartmentDAO dao = new SDepartmentDAO();
SDepartment item = null;
if (flag == 3) {
//增加同级节点
item = dao.findById(id);
String parentId = "";
if (item != null) {
parentId = item.getParentId();
} else {
parentId = "0";
}
item = new SDepartment(name,parentId,description);
dao.save(item);
if (id.trim().equals("0")) {
request.setAttribute("message", "增加顶级部门成功");
} else {
request.setAttribute("message", "增加同级部门成功");
}
} else if (flag == 4) {
//增加子节点
item = new SDepartment(name,id,description);
dao.save(item);
if (id.trim().equals("0")) {
request.setAttribute("message", "增加顶级部门成功");
} else {
request.setAttribute("message", "增加下属部门成功");
}
} else if (flag == 5) {
//修改选中节点
item = dao.findById(id);
if (item != null) {
item.setDescription(description);
item.setName(name);
request.setAttribute("message", "修改选中节点成功");
} else {
request.setAttribute("message", "选中的节点不存在");
}
} else if (flag == 6) {
//删除选中节点 -- 注这里应该同时删除所有子节点 或者节点有子节点时不允许删除
if (dao.findByParentId(id).size() > 0) {
request.setAttribute("message", "该部门还包含下属部门不允许删除");
} else {
dao.delete(dao.findById(id));
request.setAttribute("message", "删除选中部门成功");
}
}
dao.getSession().flush();
dao.getSession().clear();
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -