📄 testpaperaction.java
字号:
/**
*
*/
package edu.yinhe.mis.control;
import java.io.IOException;
import java.io.PrintWriter;
import java.io.UnsupportedEncodingException;
import java.lang.reflect.InvocationTargetException;
import java.util.ArrayList;
import java.util.Iterator;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.commons.beanutils.BeanUtils;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;
import edu.yinhe.mis.dto.TestPaperDTO;
import edu.yinhe.mis.util.Page;
import edu.yinhe.mis.vo.QuestionVO;
import edu.yinhe.mis.vo.TestpaperruleVO;
import edu.yinhe.system.common.AppException;
import edu.yinhe.system.control.BaseAction;
/**
* @author 王小龙
*
*/
public class TestPaperAction extends BaseAction {
private Boolean flag;
/**
* 生成试卷
* @param mapping
* @param form
* @param request
* @param response
* @return
*/
public ActionForward createTestPaper(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response) {
TestPaperForm testPaperForm =(TestPaperForm)form;
TestPaperDTO dto = new TestPaperDTO();
ActionForward forward = null;
try {
BeanUtils.copyProperties(dto, testPaperForm);
service.setDataSource(this.getDataSource(request,"mydatasource"));
flag = (Boolean) service.create(dto);
} catch (IllegalAccessException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (InvocationTargetException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (AppException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
if(flag){
request.setAttribute("testPaperID", dto.getTestPaper_NO());
request.setAttribute("testPaperName", dto.getTestPaper_Name());
forward = mapping.findForward("createSuccess");
}
return forward;
}
/**
* 查询试卷
* @param mapping
* @param form
* @param request
* @param response
* @return
*/
public ActionForward viewTestPaper(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response) {
TestPaperForm testPaperForm =(TestPaperForm)form;
TestPaperDTO dto = null;
Page page = null;
Object obj [] = null;
Object objs [] = null;
ArrayList testPaperlist = null;
ArrayList subjectlist = null;
int count = 0;
ActionForward forward = null;
String currentPage = request.getParameter("currentPage");
if(currentPage==null||"".equals(currentPage)){
currentPage = "1";
}
try {
dto = new TestPaperDTO();
BeanUtils.copyProperties(dto, testPaperForm);
dto.setPageSize("8");
dto.setCurrentPage(currentPage);
service.setDataSource(this.getDataSource(request,"mydatasource"));
objs = (Object[]) service.findAll(dto);
obj = (Object[]) objs[0];
count = (Integer) obj[0];
testPaperlist = (ArrayList) obj[1];
subjectlist = (ArrayList) objs[1];
page = new Page(count);
page.setCurPage(Integer.parseInt(currentPage));
page.setRowsPerPage(8);
page.init();
} catch (IllegalAccessException e) {
e.printStackTrace();
} catch (InvocationTargetException e) {
e.printStackTrace();
} catch (AppException e) {
e.printStackTrace();
}
if(testPaperlist.size()>=0){
request.setAttribute("testPaperlist", testPaperlist);
request.setAttribute("subjectlist",subjectlist);
request.setAttribute("page", page);
request.setAttribute("dto", dto);
forward = mapping.findForward("viewTestPaper");
}
return forward;
}
/**
* 列出所有科目
* @param mapping
* @param form
* @param request
* @param response
* @return
*/
public ActionForward listSubject(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response) {
TestPaperForm testPaperForm =(TestPaperForm)form;
ArrayList subjectlist = null;
ActionForward forward = null;
try {
service.setDataSource(this.getDataSource(request,"mydatasource"));
subjectlist = (ArrayList) service.list();
} catch (AppException e) {
e.printStackTrace();
}
if(subjectlist.size()>=0){
request.setAttribute("subjectlist", subjectlist);
forward = mapping.findForward("createTestPaper");
}
return forward;
}
/**
* AJAX 通过选择科目得到该科目下试卷规则
* @param mapping
* @param form
* @param request
* @param response
* @return
* @throws IOException
*/
public ActionForward listTestPaperRule(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response) throws IOException {
TestPaperForm testPaperForm =(TestPaperForm)form;
response.setContentType("text/html;charset=utf-8");
ArrayList rulelist = null;
TestpaperruleVO ruleVO = null;
PrintWriter out = response.getWriter();
StringBuffer strbf = new StringBuffer();
String subjectID = request.getParameter("subjectID");
try {
service.setDataSource(this.getDataSource(request,"mydatasource"));
rulelist = (ArrayList) service.list(subjectID);
} catch (AppException e) {
e.printStackTrace();
}
for(Iterator it=rulelist.iterator();it.hasNext();){
ruleVO = (TestpaperruleVO) it.next();
strbf.append(ruleVO.getRuleName()+":"+ruleVO.getTestPaperRuleNo()+"-");
}
out.println(strbf);
out.flush();
out.close();
return null;
}
/**
* 列出指定试卷的所有试题
*/
public ActionForward listQuestion(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response) {
TestPaperForm testPaperForm =(TestPaperForm)form;
response.setCharacterEncoding("utf-8");
ArrayList list = null;
ActionForward forward = null;
TestPaperDTO dto = null;
Page page = null;
Object obj[] = new Object[2];
int count = 0;
String id = request.getParameter("testPaper_NO");
String currentPage = request.getParameter("currentPage");
if(currentPage==null||"".equals(currentPage)){
currentPage = "1";
}
String testPaperName = request.getParameter("testPaperName");
String curPage = request.getParameter("curPage");
if(curPage==null||"".equals(curPage)){
curPage = "1";
}
try {
dto = new TestPaperDTO();
dto.setCurrentPage(curPage);
dto.setPageSize("10");
dto.setTestPaper_NO(id);
service.setDataSource(this.getDataSource(request,"mydatasource"));
obj = (Object[]) service.findById(dto);
count = (Integer) obj[0];
list = (ArrayList) obj[1];
page = new Page(count);
page.setCurPage(Integer.parseInt(curPage));
page.setRowsPerPage(10);
page.init();
} catch (AppException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
if(list.size()>0){
request.setAttribute("questionlist", list);
request.setAttribute("pagenum", currentPage);
request.setAttribute("testPaperName", testPaperName);
request.setAttribute("testPaper_NO", id);
request.setAttribute("page", page);
forward = mapping.findForward("viewQuestion");
}
return forward;
}
/**
* 删除指定ID的试卷
* @param mapping
* @param form
* @param request
* @param response
* @return
*/
public ActionForward delTestPaper(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response) {
TestPaperForm testPaperForm =(TestPaperForm)form;
ActionForward forward = null;
String id = request.getParameter("testPaper_NO");
String paperName = request.getParameter("testPaperName");
try {
paperName = new String(paperName.getBytes("iso-8859-1"),"UTF-8");
} catch (UnsupportedEncodingException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
try {
service.setDataSource(this.getDataSource(request,"mydatasource"));
flag = (Boolean) service.remove(id);
} catch (AppException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
if(flag){
request.setAttribute("testPaperName",paperName);
forward = mapping.findForward("delSuccess");
}
return forward;
}
/**
* 查看试卷中试题的具体信息
* @param mapping
* @param form
* @param request
* @param response
* @return
*/
public ActionForward browseQuestion(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response) {
TestPaperForm testPaperForm =(TestPaperForm)form;
QuestionVO vo = null;
ActionForward forward = null;
int id = Integer.parseInt(request.getParameter("questionID"));
String currentPage = request.getParameter("currentPage");
String pagenum = request.getParameter("pagenum");
String testPaper_NO = request.getParameter("testPaper_NO");
try {
service.setDataSource(this.getDataSource(request,"mydatasource"));
vo = (QuestionVO) service.load(id);
} catch (AppException e) {
e.printStackTrace();
}
if(vo!=null){
request.setAttribute("questionVO", vo);
request.setAttribute("currentPage", currentPage);
request.setAttribute("pagenum", pagenum);
request.setAttribute("testPaper_NO", testPaper_NO);
forward = mapping.findForward("browseQuestion");
}
return forward;
}
/**
* AJAX 验证用户所创建的试卷是否已存在
* @param mapping
* @param form
* @param request
* @param response
* @return
*/
public ActionForward check(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response) {
ActionForward forward = null;
Object objs[] = new Object[2];//存放返回的结果
TestPaperDTO dto = new TestPaperDTO();
StringBuffer str = null;
String paperName = request.getParameter("testPaper_Name");
String paperID = request.getParameter("testPaper_NO");
try {
paperName = new String(paperName.getBytes("iso-8859-1"),"GBK");
} catch (UnsupportedEncodingException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
dto.setTestPaper_Name(paperName);
dto.setTestPaper_NO(paperID);
try {
service.setDataSource(this.getDataSource(request,"mydatasource"));
objs = (Object[]) service.findByObject(dto);
str = new StringBuffer(objs[0].toString()+"-"+objs[1].toString());
} catch (AppException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
try {
PrintWriter out = response.getWriter();
out.print(str);
out.flush();
out.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return forward;
}
/**
* 批量删除
* @param mapping
* @param form
* @param request
* @param response
* @return
*/
public ActionForward delSelected(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response) {
ActionForward forward = null;
String str = request.getParameter("str");
try {
service.setDataSource(this.getDataSource(request,"mydatasource"));
flag = (Boolean) service.modify(str);
} catch (AppException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
if(flag){
forward = mapping.findForward("query");
}
return forward;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -