📄 examaction.java
字号:
package com.myExam.action;
//导入util包
import java.util.HashMap;
import java.util.List;
import java.util.Map;
//导入servlet包
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
//导入spring包
import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.mvc.multiaction.MultiActionController;
//导入自身的包
import com.myExam.bean.Exam;
import com.myExam.bean.Shiti;
import com.myExam.bean.ShitiOption;
import com.myExam.domain.SetExam;
import com.myExam.domain.SetShiti;
import com.myExam.domain.SetShitiOption;
import com.myExam.domain.SetShitiType;
//实现多动作处理
public class ExamAction extends MultiActionController{
private String examInfo;
private String exam;
private String examChengji;
private SetExam setExam;
private SetShitiType setShitiType;
private SetShiti setShiti;
private SetShitiOption setShitiOption;
// 封装调查基本信息
public Exam getExamCommand(HttpServletRequest req, HttpServletResponse res) {
Exam exam = new Exam();
if (req.getParameter("checkbox") != null) {
try {
//判断是否是新增或者修改还是删除,如果是新增则不需要id
if (req.getParameter("id" + (String)req.getParameter("checkbox") + "") != null) {
exam.setId(Integer.valueOf(req.getParameter("id" + (String)req.getParameter("checkbox") + "")));
}
//获取基本信息
exam.setName((String)req.getParameter("name" + (String)req.getParameter("checkbox") + ""));
exam.setShitiTypeId(Integer.valueOf(req.getParameter("shitiTypeId" + (String)req.getParameter("checkbox") + "")));
exam.setCount(Integer.valueOf(req.getParameter("count" + (String)req.getParameter("checkbox") + "")));
exam.setFenshu(Float.valueOf(req.getParameter("fenshu" + (String)req.getParameter("checkbox") + "")));
} catch (Exception ex) {
ex.printStackTrace();
}
} else {
exam = null;
}
return exam;
}
//新增试卷
public ModelAndView insert(HttpServletRequest request, HttpServletResponse response)throws Exception {
//强制转换成Exam
Exam exam = getExamCommand(request, response);
Map model = new HashMap();
if (exam != null) {
// 新增试卷
getSetExam().insertExam(exam);
}
//获取试题种类
List shitiTypes = getSetShitiType().queryShitiType();
List exams = getSetExam().queryExam();
//将信息传入页面
model.put("exams", exams);
model.put("shitiTypes", shitiTypes);
model.put("msg", getSetExam().getMsg());
//返回到指定页面
return new ModelAndView(getExamInfo(), model);
}
// 修改试卷
public ModelAndView update(HttpServletRequest request, HttpServletResponse response)throws Exception {
//强制转换成Exam
Exam exam = getExamCommand(request, response);
Map model = new HashMap();
if (exam != null) {
// 修改试卷
getSetExam().updateExam(exam);
}
// 获取试题种类
List shitiTypes = getSetShitiType().queryShitiType();
List exams = getSetExam().queryExam();
//将信息传入页面
model.put("exams", exams);
model.put("shitiTypes", shitiTypes);
model.put("msg", getSetExam().getMsg());
//返回到指定页面
return new ModelAndView(getExamInfo(), model);
}
// 删除试卷
public ModelAndView delete(HttpServletRequest request, HttpServletResponse response)throws Exception {
//强制转换成Exam
Exam exam = getExamCommand(request, response);
Map model = new HashMap();
if (exam != null) {
// 删除试卷
getSetExam().deleteExam(exam);
}
// 获取试题种类
List shitiTypes = getSetShitiType().queryShitiType();
List exams = getSetExam().queryExam();
//将信息传入页面
model.put("exams", exams);
model.put("shitiTypes", shitiTypes);
model.put("msg", getSetExam().getMsg());
//返回到指定页面
return new ModelAndView(getExamInfo(), model);
}
// 生成试卷
public ModelAndView createExam(HttpServletRequest request, HttpServletResponse response)throws Exception {
//强制转换成Exam
Exam exam = getExamCommand(request, response);
Map model = new HashMap();
List shitis = getSetShiti().getShitiByTypeId(exam.getShitiTypeId());
// 将该试卷的试题传递给页面
model.put("shitis", shitis);
//获取每个试题的试题项目
Map mapShitiOptions = new HashMap();
for (int i = 0; shitis != null && i < exam.getCount(); i++) {
Shiti shiti = (Shiti)shitis.get(i);
//获取该试题的试题项目
List listOptions = getSetShitiOption().getShitiOption(shiti.getId());
//将每一个试题项目根据试题的id,存入map
mapShitiOptions.put(shiti.getId(), listOptions);
}
model.put("exam", exam);
model.put("mapShitiOptions", mapShitiOptions);
model.put("msg", getSetExam().getMsg());
//返回到指定页面
return new ModelAndView(getExam(), model);
}
// 判断试卷
public ModelAndView countExam(HttpServletRequest request, HttpServletResponse response)throws Exception {
// 强制转换成examId
int examId = Integer.valueOf((String)request.getParameter("examId"));
Map model = new HashMap();
Exam exam = getSetExam().query(examId);
List shitis = getSetShiti().getShitiByTypeId(exam.getShitiTypeId());
//计算成绩
Map mapShitiOptions = new HashMap();
float fenshu = 0L;
for (int i = 0; shitis != null && i < exam.getCount(); i++) {
Shiti shiti = (Shiti)shitis.get(i);
//获取用户选择的试题项目id
int shitiOptionId = Integer.valueOf((String)request.getParameter(shiti.getId().toString()));
ShitiOption shitiOption = getSetShitiOption().getShitiOptionById(shitiOptionId);
//如果该试题项目为正确答案
if (shitiOption.getIsok() == 1) {
fenshu += exam.getFenshu();
}
}
//将信息传入页面
model.put("exam", exam);
model.put("fenshu", fenshu);
//返回到指定页面
return new ModelAndView(getExamChengji(), model);
}
/**返回setExam.
*/
public SetExam getSetExam() {
return setExam;
}
/**设定setExam
*/
public void setSetExam(SetExam setExam) {
this.setExam = setExam;
}
/**返回examInfo.
*/
public String getExamInfo() {
return examInfo;
}
/**设定examInfo
*/
public void setExamInfo(String examInfo) {
this.examInfo = examInfo;
}
/**返回setShitiType.
*/
public SetShitiType getSetShitiType() {
return setShitiType;
}
/**设定setShitiType
*/
public void setSetShitiType(SetShitiType setShitiType) {
this.setShitiType = setShitiType;
}
/**返回setShiti.
*/
public SetShiti getSetShiti() {
return setShiti;
}
/**设定setShiti
*/
public void setSetShiti(SetShiti setShiti) {
this.setShiti = setShiti;
}
/**返回setShitiOption.
*/
public SetShitiOption getSetShitiOption() {
return setShitiOption;
}
/**设定setShitiOption
*/
public void setSetShitiOption(SetShitiOption setShitiOption) {
this.setShitiOption = setShitiOption;
}
/**返回exam.
*/
public String getExam() {
return exam;
}
/**设定exam
*/
public void setExam(String exam) {
this.exam = exam;
}
/**返回examChengji.
*/
public String getExamChengji() {
return examChengji;
}
/**设定examChengji
*/
public void setExamChengji(String examChengji) {
this.examChengji = examChengji;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -