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

📄 selectquestionaction.java

📁 asp制作的在线考试系统
💻 JAVA
字号:
package cn.hxex.exam.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 cn.hxex.exam.dao.DAOFactory;
import cn.hxex.exam.dao.SelectQuestionDAO;
import cn.hxex.exam.dao.TestPaperDAO;
import cn.hxex.exam.form.SelectQuestionForm;
import cn.hxex.exam.model.SelectQuestion;
import cn.hxex.exam.model.Selected;
import cn.hxex.exam.model.TestPaper;
import cn.hxex.exam.util.HxexBeanUtils;
import cn.hxex.exam.util.HxexStringUtils;

/**
 * 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= HxexBeanUtils.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( HxexStringUtils.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 = HxexBeanUtils.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 + -