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

📄 selectquestionaction.java

📁 java网上考试系统
💻 JAVA
字号:
package com.qrsx.exam.struts.action;

import java.io.IOException;
import java.util.Iterator;
import java.util.TreeSet;

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

import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;

import com.qrsx.exam.dao.DAOFactory;
import com.qrsx.exam.dao.SelectQuestionDAO;
import com.qrsx.exam.dao.TestPaperDAO;
import com.qrsx.exam.model.SelectQuestion;
import com.qrsx.exam.model.Selected;
import com.qrsx.exam.model.TestPaper;
import com.qrsx.exam.struts.form.SelectQuestionForm;
import com.qrsx.exam.util.BeanUtils;
import com.qrsx.exam.util.StringUtils;

/**
 * The Action about test Question
 * 
 * @struts.action name="selectQuestionForm" path="/exam/selectquestion"
 *                scope="request" input="/exam/question_list.jsp"
 *                validate="false" parameter="p"
 * 
 * @struts.action-forward name="add" path="/exam/selectquestion_add.jsp"
 * 
 * @struts.action-forward name="list" path="/exam/question_list.jsp"
 * 
 * @struts.action-forward name="update" path="/exam/selectquestion_update.jsp"
 * 
 * @author galaxy
 * 
 */
public class SelectQuestionAction extends QuestionAction {
    /**
     * 保存选择题信息
     */
    public ActionForward add(ActionMapping mapping, ActionForm form,
            HttpServletRequest request, HttpServletResponse response)
            throws IOException, ServletException {
        // 得到用户提交的信息
        SelectQuestion select = BeanUtils.copyProperties(new SelectQuestion(),
                form);

        // 得到试卷的信息
        String paperid = request.getParameter("paperid");
        TestPaperDAO paperdao = DAOFactory.getDao(TestPaperDAO.class);
        TestPaper paper = paperdao.findById(paperid, false);

        // 保存试题信息
        select.setTestpaper(paper);
        paper.getSelectquestions().add(select);

        // 得到选项信息,并保存
        TreeSet<Selected> set = new TreeSet<Selected>();
        for (char i = 'A'; i <= 'D'; i++) {
            String content = request.getParameter(String.valueOf(i));
            if (StringUtils.isEmpty(content)) {
                break;
            } else {
                Selected s = new Selected();
                s.setItem(String.valueOf(i));
                s.setContent(content);

                s.setSelectquestion(select);
                set.add(s);
            }
        }
        select.setSelecteds(set);

        addMessage(request, "selectQuestion.add.success");

        // 清空form中的信息
        SelectQuestionForm selectform = (SelectQuestionForm) form;
        selectform.setAnswer(null);
        selectform.setScore(null);
        selectform.setTitle(null);

        // 返回到试卷信息录入页面
        return addin(mapping, form, request, response);
    }

    /**
     * 进入选择题修改页面
     */
    public ActionForward updatein(ActionMapping mapping, ActionForm form,
            HttpServletRequest request, HttpServletResponse response)
            throws IOException, ServletException {
        // 得到用户提交的参数
        SelectQuestionForm selectform = (SelectQuestionForm) form;

        // 得到要修改的选择题的对象
        SelectQuestionDAO dao = DAOFactory.getDao(SelectQuestionDAO.class);
        SelectQuestion question = dao.findById(selectform.getId(), false);
        request.setAttribute("question", question);
        request.setAttribute("paper", question.getTestpaper());

        // 跳转到选择题修改页面
        return mapping.findForward("update");
    }

    /**
     * 选择题保存方法
     */
    public ActionForward save(ActionMapping mapping, ActionForm form,
            HttpServletRequest request, HttpServletResponse response)
            throws IOException, ServletException {
        // 得到用户提交的参数
        SelectQuestionForm selectform = (SelectQuestionForm) form;

        // 得到原选择题的信息
        SelectQuestionDAO dao = DAOFactory.getDao(SelectQuestionDAO.class);
        SelectQuestion question = dao.findById(selectform.getId(), false);

        // 更新数据库
        question = BeanUtils.copyProperties(question, form);

        // 更新选项信息
        Iterator<Selected> selecteds = question.getSelecteds().iterator();
        while (selecteds.hasNext()) {
            Selected s = selecteds.next();
            s.setContent(request.getParameter(s.getItem()));
        }

        addMessage(request, "selectQuestion.update.success");

        // 返回到列表页面
        return list(mapping, form, request, response);
    }

    /**
     * 选择题删除方法
     */
    public ActionForward delete(ActionMapping mapping, ActionForm form,
            HttpServletRequest request, HttpServletResponse response)
            throws IOException, ServletException {
        // 得到用户提交的参数
        SelectQuestionForm selectform = (SelectQuestionForm) form;

        // 删除选择题对象
        SelectQuestionDAO dao = DAOFactory.getDao(SelectQuestionDAO.class);
        SelectQuestion question = dao.findById(selectform.getId(), false);
        TestPaper paper = question.getTestpaper();
        paper.getSelectquestions().remove(question);
        dao.makeTransient(question);

        addMessage(request, "selectQuestion.delete.success");

        // 返回列表页面
        return list(paper.getId(), mapping, request);
    }
}

⌨️ 快捷键说明

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