📄 examaction.java
字号:
/*
* Generated by MyEclipse Struts
* Template path: templates/java/JavaClass.vtl
*/
package web.action;
import java.io.IOException;
import java.util.ArrayList;
import java.util.Collection;
import java.util.List;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;
import org.apache.struts.actions.DispatchAction;
import org.jfree.chart.ChartFactory;
import org.jfree.chart.ChartUtilities;
import org.jfree.chart.JFreeChart;
import org.jfree.data.general.DefaultPieDataset;
import po.Oexampaper;
import po.Ograde;
import po.Ostudent;
import web.breakpage.Page;
import business.IAdmService;
import business.IStuService;
import business.IUtilService;
import freeChart.PieChart;
/**
* MyEclipse Struts
* Creation date: 01-23-2008
*
* XDoclet definition:
* @struts.action parameter="method" validate="true"
*/
/**
*
*/
public class ExamAction extends DispatchAction
{
private IAdmService admService;
private IUtilService utilService;
private IStuService stuService;
public IAdmService getAdmService()
{
return admService;
}
public void setAdmService(IAdmService admService)
{
this.admService = admService;
}
public IUtilService getUtilService()
{
return utilService;
}
public void setUtilService(IUtilService utilService)
{
this.utilService = utilService;
}
public IStuService getStuService()
{
return stuService;
}
public void setStuService(IStuService stuService)
{
this.stuService = stuService;
}
public ActionForward chooseExam(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response)
{
String id = request.getParameter("id");
if (null != id)
{
Oexampaper exam = admService.findExamPaperByid(id);
request.setAttribute("exam", exam);
}
List list = admService.findAllExamPaper();
request.setAttribute("list", list);
return mapping.findForward("exam_choice");
}
public ActionForward startExam(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response)
{
//需要重点写!!
String id = request.getParameter("id");
Oexampaper exam = admService.findExamPaperByid(id);
Ostudent stu = (Ostudent) request.getSession().getAttribute("stu");
List list_s = new ArrayList();
List list_m = new ArrayList();
List list_j = new ArrayList();
String type = exam.getType();
String[] style = utilService.getID(exam.getStyle());
for (int i = 0; i < style.length; i++)
{
if ("判断".equals(style[i]))
{
list_j = stuService.findQuestionbyTySt(type, "判断");
List list_judge = stuService.randomQuestion(list_j);
request.setAttribute("list_judge", list_judge);
}
if ("单项选择".equals(style[i]))
{
list_s = stuService.findQuestionbyTySt(type, style[i]);
List list_schoice = stuService.randomQuestion(list_s);
request.setAttribute("list_schoice", list_schoice);
}
if ("多项选择".equals(style[i]))
{
list_m = stuService.findQuestionbyTySt(type, style[i]);
List list_mchoice = stuService.randomQuestion(list_m);
request.setAttribute("list_mchoice", list_mchoice);
}
}
//request.getSession().getServletContext().setAttribute("examState", "start");
HttpSession session = request.getSession();
request.setAttribute("exam", exam);
session.setAttribute("examState", "start");
session.setAttribute("time", exam.getTime().toString());
if (null != admService.findGradeBykey(stu, exam))
{
request.setAttribute("again_js", "again_js");
session.setAttribute("examState", "no");
return mapping.findForward("stu_warn");
}
else
{
return mapping.findForward("exam_go");
}
}
public ActionForward endExam(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response)
{
HttpSession session = request.getSession();
Ostudent stu = (Ostudent) session.getAttribute("stu");
String examid = request.getParameter("examid");
Oexampaper exam = admService.findExamPaperByid(examid);
Ograde grade_exam = new Ograde();
int grade = 0;//总分
for (int i = 1; i <= Integer.parseInt(exam.getTotalque()); i++)
{
String style = request.getParameter("style" + String.valueOf(i));
if (style.equals("mchoice"))//多项选择
{
String mchoice[] = request
.getParameterValues(String.valueOf(i));
String answer = "";
String answers = request.getParameter("answers"
+ String.valueOf(i));
if (null != mchoice)
{
for (int j = 0; j < mchoice.length; j++)
{
answer = answer + mchoice[j];
}
int point = Integer.parseInt(exam.getMchoicepoint());
grade = grade
+ admService.changePoint(answer, answers, point);
}
} else if (style.equals("schoice"))//单项选择
{
String answer = request.getParameter(String.valueOf(i));
String answers = request.getParameter("answers"
+ String.valueOf(i));
int point = Integer.parseInt(exam.getSchoicepoint());
grade = grade + admService.changePoint(answer, answers, point);
} else
//判断
{
String answer = request.getParameter(String.valueOf(i));
String answers = request.getParameter("answers"
+ String.valueOf(i));
int point = Integer.parseInt(exam.getJudgepoint());
grade = grade + admService.changePoint(answer, answers, point);
}
}
grade_exam.setOstudent(stu);
grade_exam.setOexampaper(exam);
grade_exam.setGrade(String.valueOf(grade));
admService.addGrade(grade_exam);
session.setAttribute("examState", "no");
request.setAttribute("grade", String.valueOf(grade));
request.setAttribute("exam", exam);
return mapping.findForward("exam_grade");
}
public ActionForward chooseGrade(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response)
{
String examid = request.getParameter("id");
Oexampaper exam = new Oexampaper();
if (null != examid)
{
exam = admService.findExamPaperByid(examid);
}
HttpSession session = request.getSession();
Ostudent stu = (Ostudent) session.getAttribute("stu");
String stuid = stu.getId();
if (null == examid)
{
List list = admService.findAllExamPaper();
request.setAttribute("list", list);
return mapping.findForward("grade_choice");
}
else if (null != admService.findGradeBykey(stu, exam))
{
String grade = admService.findGradeBykey(stu, exam).getGrade();
request.setAttribute("exam", exam);
request.setAttribute("grade", String.valueOf(grade));
return mapping.findForward("exam_grade");
} else
{
request.setAttribute("pardon_js", "pardon_js");
return mapping.findForward("stu_warn");
}
}
public ActionForward listGrade(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response)
{
String pageMethod = request.getParameter("pageMethod");
HttpSession session = request.getSession();
String text = "";
String colleage = "";
String exam = "";
if (null != pageMethod)
{
text = (String) session.getAttribute("text");
colleage = (String) session.getAttribute("colleage");
exam = (String) session.getAttribute("exam");
int num = (Integer)session.getAttribute("num");
int count = admService.findByGradekey(text, colleage, exam);
//根据总行数来创建Page对象
Page p = utilService.getPage(request,count,num);
//通过page对象可以得到从哪一条数据库的记录开始查询,查询多少条
Collection clInfos = admService.findByGradekey(p.getStartRow(), p
.getPageSize(), text, colleage, exam);
request.setAttribute("page", p);
request.setAttribute("list", clInfos);
List list = admService.findAllExamPaper();
request.setAttribute("list_exam", list);
request.setAttribute("text", text);
request.setAttribute("colleage", colleage);
request.setAttribute("exam", exam);
request.setAttribute("count", count);
request.setAttribute("num", num);
return mapping.findForward("grade_list");
}
else
{
String pages = request.getParameter("pages");
int num = 0;
if(null != pages)
{
num = Integer.valueOf(pages);
}
else
{
num = 15;
}
text = request.getParameter("quekey");
colleage = request.getParameter("colleage");
exam = request.getParameter("exam");
session.setAttribute("text", text);
session.setAttribute("colleage", colleage);
session.setAttribute("exam", exam);
session.setAttribute("num", num);
int count = admService.findByGradekey(text, colleage, exam);
//根据总行数来创建Page对象
Page p = utilService.getPage(request, count, num);
//通过page对象可以得到从哪一条数据库的记录开始查询,查询多少条
Collection clInfos = admService.findByGradekey(p.getStartRow(), p
.getPageSize(), text, colleage, exam);
request.setAttribute("page", p);
request.setAttribute("list", clInfos);
List list = admService.findAllExamPaper();
request.setAttribute("list_exam", list);
request.setAttribute("text", text);
request.setAttribute("colleage", colleage);
request.setAttribute("exam", exam);
request.setAttribute("count", count);
request.setAttribute("num", num);
return mapping.findForward("grade_list");
}
}
public ActionForward delGrade(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response)
{
String id = request.getParameter("id");
String[] queid = utilService.getID(id);
for (int i = 0; i < queid.length; i++)
{
admService.delGrade(queid[i]);
}
request.setAttribute("gra_del_js", "gra_del_js");
return mapping.findForward("admin_warn");
}
public ActionForward displayGrade(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response)
{
String id = request.getParameter("id");
Ograde grade = admService.findGradeByid(id);
request.setAttribute("grade", grade);
return mapping.findForward("grade_display");
}
public ActionForward displayGradeByPie(ActionMapping mapping,
ActionForm form, HttpServletRequest request,
HttpServletResponse response)
{
String id = request.getParameter("exam");
Oexampaper exam = admService.findExamPaperByid(id);
System.out.println(exam.getStatus());
if(null!=exam && "开放考试".equals(exam.getStatus()))
{
String colleage = request.getParameter("colleage");
DefaultPieDataset Dataset = admService.getDataSet(exam.getTotalpoint(), exam.getName(), colleage);
request.setAttribute("Dataset", Dataset);
String name = exam.getName() + "---" + colleage + "成绩段人数分析";
request.setAttribute("name", name);
return mapping.findForward("freechart");
}
else
{
request.setAttribute("exam_state", "exam_state");
return mapping.findForward("admin_warn");
}
}
public ActionForward displayGradeChoice(ActionMapping mapping,
ActionForm form, HttpServletRequest request,
HttpServletResponse response)
{
List list = admService.findAllExamPaper();
request.setAttribute("list", list);
return mapping.findForward("grade_choice_tea");
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -