⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 testpaperaction.java

📁 中应用程序的访问权限对Java Web Console 中应用程序的访问权限 成功登录 Web 控制台后,可能无法自动访问在该控制台中注册的所有应用程序。通常,必须安装应用程序,才能让所有的用户在控制
💻 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 + -