⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 classesaction.java

📁 java网上考试系统
💻 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 + -