📄 selectquestionaction.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 + -