【Java开源代码栏目提醒】:本文主要为网学会员提供ShowExamTestAction.java,希望对需要ShowExamTestAction.java网友有所帮助,学习一下!
package org.mmxbb.exam.business.exam;
import java.util.ArrayList;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
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 org.mmxbb.exam.bean.QuestionInTest;
import org.mmxbb.exam.bean.TestPaper;
import org.mmxbb.exam.business.LogonBean;
import org.mmxbb.exam.dao.ExamDAO;
import org.mmxbb.exam.dao.ExamineeDAO;
import org.mmxbb.exam.dao.TestPaperDAO;
import org.mmxbb.exam.util.Filter;
import org.mmxbb.exam.util.Transformer;
import java.sql.*;
public class ShowExamTestAction
extends Action {
public ActionForward execute(ActionMapping actionMapping,
ActionForm actionForm,
HttpServletRequest servletRequest,
HttpServletResponse servletResponse) {
ExamTestActionForm examTestActionForm = (ExamTestActionForm) actionForm;
String e_id = null;
e_id = examTestActionForm.getE_id();
String examinee_id = null;
HttpSession s = servletRequest.getSession();
LogonBean logon = (LogonBean) s.getAttribute("logon");
examinee_id = logon.getLogon();
TestPaperDAO testPaperDAO = null;
ExamineeDAO examineeDAO = null;
examTestActionForm.setExaminee_id(examinee_id);
examineeDAO = new ExamineeDAO();
try {
String examinee_name = examineeDAO.findByKey(examinee_id).getName();
examTestActionForm.setExaminee_name(examinee_name);
} catch (SQLException ex1) {
ex1.printStackTrace();
}
TestPaperDAO tDAO = null;
tDAO = new TestPaperDAO();
String t_idS = tDAO.findT_id(e_id, examinee_id);
examTestActionForm.setT_id(t_idS);
ArrayList QuestionSet = null;
ArrayList singleQ = new ArrayList();
ArrayList multiQ = new ArrayList();
ArrayList fitinQ = new ArrayList();
ArrayList answerQ = new ArrayList();
QuestionInTest qInTest = new QuestionInTest();
ExamDAO examDAO = null;
examDAO = new ExamDAO();
examTestActionForm.setExamPaper(examDAO.getExamPaper(e_id));
examDAO = new ExamDAO();
QuestionSet = (ArrayList) examDAO.getExamQuestion(e_id);
Transformer transformer = new Transformer();
String singType = transformer.valueToId("单选题");
transformer = new Transformer();
String multiType = transformer.valueToId("多选题");
transformer = new Transformer();
String fitinType = transformer.valueToId("填空题");
transformer = new Transformer();
String answerType = transformer.valueToId("简答题");
int mLen = 0;
for (int i = 0; i < QuestionSet.size(); i++) {
qInTest = (QuestionInTest) QuestionSet.get(i);
if (qInTest.getQ_type().equals(singType)) {
processSingle(qInTest);
singleQ.add(qInTest);
}
if (qInTest.getQ_type().equals(multiType)) {
processMulti(qInTest);
multiQ.add(qInTest);
mLen++;
}
if (qInTest.getQ_type().equals(fitinType)) {
fitinQ.add(qInTest);
}
if (qInTest.getQ_type().equals(answerType)) {
answerQ.add(qInTest);
}
}
examTestActionForm.setT_answerLen(QuestionSet.size() - mLen);
examTestActionForm.setMultiLen(mLen);
examTestActionForm.setSingleQ(singleQ);
examTestActionForm.setMultiQ(multiQ);
examTestActionForm.setFitinQ(fitinQ);
examTestActionForm.setAnswerQ(answerQ);
tDAO = new TestPaperDAO();
long t_id = Long.parseLong(t_idS);
tDAO.setBeginTime(t_id);
int timer = examTestActionForm.getExamPaper().getE_timer() * 60 * 1000;
String e_timer = Integer.toString(timer);
testPaperDAO = new TestPaperDAO();
TestPaper testPaper = new TestPaper();
testPaper = testPaperDAO.findByKey(t_id);
testPaper.setT_state("095");
testPaperDAO = new TestPaperDAO();
try {
testPaperDAO.updateTestPaper(testPaper);
} catch (SQLException ex) {
ex.printStackTrace();
}
servletRequest.setAttribute("e_timer", e_timer);
return actionMapping.findForward("examtest");
}
public void processSingle(QuestionInTest qInTest) {
String q_answer = qInTest.getQ_answer();
Filter filter = new Filter();
String[] results = new String[5];
results = filter.Split(q_answer);
qInTest.setText1(results[0]);
qInTest.setText2(results[1]);
qInTest.setText3(results[2]);
qInTest.setText4(results[3]);
}
public void processMulti(QuestionInTest qInTest) {
String q_answer = qInTest.getQ_answer();
Filter filter = new Filter();
String[] results = new String[5];
results = filter.Split(q_answer);
qInTest.setText1(results[0]);
qInTest.setText2(results[1]);
qInTest.setText3(results[2]);
qInTest.setText4(results[3]);
qInTest.setText5(results[4]);
}
}
上一篇:
ShowExamineeAction.java
下一篇:
浅析党建优势在煤矿安全生产管理中的作用