📄 classesaction.java
字号:
package com.qrsx.exam.struts.action;
import java.io.IOException;
import java.util.List;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;
import com.qrsx.exam.dao.ClassesDAO;
import com.qrsx.exam.dao.DAOFactory;
import com.qrsx.exam.dao.TeacherDAO;
import com.qrsx.exam.model.Classes;
import com.qrsx.exam.model.Teacher;
import com.qrsx.exam.struts.BaseAction;
import com.qrsx.exam.struts.form.ClassesForm;
import com.qrsx.exam.util.BeanUtils;
import com.qrsx.exam.util.StringUtils;
/**
* The action about class
*
* @struts.action name="classesForm" path="/manage/classes" scope="request"
* input="/manage/classes_add.jsp" validate="false" parameter="p"
*
* @struts.action-forward name="add"
*
* path="/manage/classes_add.jsp"
*
* @struts.action-forward name="list" path="/manage/classes_list.jsp"
*
* @struts.action-forward name="update" path="/manage/classes_update.jsp"
*
* @struts.action-forward name="classes_teacher"
* path="/manage/classes_teacher.jsp"
*
* @author galaxy
*
*/
public class ClassesAction extends BaseAction {
protected final Log log = LogFactory.getLog(getClass());
/**
* 跳转到班级信息录入页面
*/
public ActionForward addin(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response)
throws IOException, ServletException {
return mapping.findForward("add");
}
/**
* 保存班级信息业务处理方法
*/
public ActionForward save(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response)
throws IOException, ServletException {
// 得到页面传递的参数,并赋值到生成Classes对象的实例
Classes classes = BeanUtils.copyProperties(new Classes(), form);
// 得到ClassesDAO对象的实例
ClassesDAO dao = DAOFactory.getDao(ClassesDAO.class);
// 持久化Classes对象的实例
dao.makePersistent(classes);
// 设置提示信息
addMessage(request, "classes.meg.add.success");
// 清空ActionForm
ClassesForm cls = (ClassesForm) form;
cls.setTitle(null);
// 判断是否执行的是增加班级信息时的保存工作
if (StringUtils.isEmpty(cls.getId())) {
// 如果进行的增加操作,则返回到班级信息录入页面
return addin(mapping, form, request, response);
} else {
cls.setId(null);
// 如果进行的修改保存的操作,返回到班级信息列表页面
return list(mapping, form, request, response);
}
}
/**
* 班级信息列表Action方法
*/
public ActionForward list(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response)
throws IOException, ServletException {
// 得到ClassesDAO对象的实例
ClassesDAO dao = DAOFactory.getDao(ClassesDAO.class);
// 得到所有的班级对象的实例
List<Classes> classes = dao.findAll();
// 将班级对象的集合保存为Request的属性
request.setAttribute("classes", classes);
// 跳转到班级信息列表页面
return mapping.findForward("list");
}
/**
* 得到要修改的班级信息
*/
public ActionForward updatein(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response)
throws IOException, ServletException {
// 得到用户提交的参数
ClassesForm classForm = (ClassesForm) form;
// 得到ClassesDAO对象的实例
ClassesDAO dao = DAOFactory.getDao(ClassesDAO.class);
// 得到用户要修改的Calsses对象的实例
Classes c = dao.findById(classForm.getId(), false);
// 判断用户所要修改的Classes对象是否存在
if (c != null) {
// 用户所要修改的Calsses对象存在,那么将该对象保存到请求的属性中
request.setAttribute("classesForm", c);
// 跳转到班级信息修改页面
return mapping.findForward("update");
} else {
// 设置班级信息不存在的提示信息
addMessage(request, "classes.msg.update.notexist");
// 返回班级信息列表页面
return list(mapping, form, request, response);
}
}
/**
* 删除班级信息
*/
public ActionForward delete(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response)
throws IOException, ServletException {
// 得到用户传递的参数
ClassesForm classes = (ClassesForm) form;
// 得到ClassesDAO对象的实例
ClassesDAO dao = DAOFactory.getDao(ClassesDAO.class);
// 检索用户要删除的班级信息
Classes c = dao.findById(classes.getId(), false);
// 判断该班级信息是否存在
if (c != null) {
// 删除该班级信息
dao.makeTransient(c);
// 设置提示信息
addMessage(request, "classes.msg.delete.success");
} else {
// 设置要删除的记录不存在的提示信息
addMessage(request, "classes.msg.update.notexist");
}
// 返回班级信息列表页面
return list(mapping, form, request, response);
}
/**
* 进入班级任课教师维护页面
*/
public ActionForward teacher(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response)
throws IOException, ServletException {
// 得到用户传递的参数
ClassesForm classes = (ClassesForm) form;
// 得到ClassesDAO对象的实例
ClassesDAO classesdao = DAOFactory.getDao(ClassesDAO.class);
// 得到用户所要修改的班级信息
Classes c = classesdao.findById(classes.getId(), false);
if (c != null) {
// 设置班级信息
request.setAttribute("classes", c);
// 设置任课教师信息
request.setAttribute("inteachers", c.getTeachers());
// 得到TeacherDAO对象的实例
TeacherDAO dao = DAOFactory.getDao(TeacherDAO.class);
List<Teacher> teachers = dao.getNotInClassesTeacher(c.getId());
request.setAttribute("notinteachers", teachers);
}
// 返回到班级任课教师维护页面
return mapping.findForward("classes_teacher");
}
/**
* 保存班级任课教师
*/
public ActionForward saveteacher(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response)
throws IOException, ServletException {
// 得到用户提交的数据
ClassesForm classes = (ClassesForm) form;
// 得到ClassesDAO对象的实例
ClassesDAO classesdao = DAOFactory.getDao(ClassesDAO.class);
// 得到用户所维护的班级信息
Classes c = classesdao.findById(classes.getId(), false);
if (c != null) {
// 清空班级的任课教师
c.getTeachers().clear();
// 得到任课教师的ID值(多个)
String[] tids = request.getParameterValues("inteachers");
if (tids != null && tids.length > 0) {
// 得到教师DAO对象的实例
TeacherDAO dao = DAOFactory.getDao(TeacherDAO.class);
for (int i = 0; i < tids.length; i++) {
// 得到教师的信息
Teacher t = dao.findById(tids[i], false);
// 设置该教师为这个班级的授课教师
c.getTeachers().add(t);
}
}
// 设置班级任课教师成功信息
addMessage(request, "classes.msg.teacher.success");
}
// 返回班级信息列表页面
return list(mapping, form, request, response);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -