?? 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);
}
/**
* 進(jìn)入選擇題修改頁面
*/
public ActionForward updatein(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response)
throws IOException, ServletException {
// 得到用戶提交的參數(shù)
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());
// 跳轉(zhuǎn)到選擇題修改頁面
return mapping.findForward("update");
}
/**
* 選擇題保存方法
*/
public ActionForward save(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response)
throws IOException, ServletException {
// 得到用戶提交的參數(shù)
SelectQuestionForm selectform = (SelectQuestionForm) form;
// 得到原選擇題的信息
SelectQuestionDAO dao = DAOFactory.getDao(SelectQuestionDAO.class);
SelectQuestion question = dao.findById(selectform.getId(), false);
// 更新數(shù)據(jù)庫
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 {
// 得到用戶提交的參數(shù)
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);
}
}
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -