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

📄 yesnoquestionaction.java

📁 struts+hibernate在线考试系统exam
💻 JAVA
字号:
package cn.hxex.exam.action;

import java.io.IOException;

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.TestPaperDAO;
import cn.hxex.exam.dao.YesNoQuestionDAO;
import cn.hxex.exam.form.YesnoQuestionForm;
import cn.hxex.exam.model.TestPaper;
import cn.hxex.exam.model.YesNoQuestion;
import cn.hxex.exam.util.HxexBeanUtils;

/**
 * The Action about test Question
 * 
 * @struts.action
 * 	name="yesnoQuestionForm"
 *  path="/exam/yesnoquestion"
 *  scope="request"
 *  input="/exam/question_list.jsp"
 *  validate="false"
 *  parameter="p"
 * 
 * @struts.action-forward 
 *  name="add" 
 *  path="/exam/yesnoquestion_add.jsp"
 *  
 * @struts.action-forward 
 *  name="update" 
 *  path="/exam/yesnoquestion_update.jsp"
 *  
 */
public class YesNoQuestionAction extends QuestionAction
{
	/**
	 * 判断题保存功能的实现
	 */
	public ActionForward add( ActionMapping mapping, 
			ActionForm form, 
			HttpServletRequest request, 
			HttpServletResponse response ) 
			throws IOException, ServletException
	{
		// 得到用户提交的参数
		YesNoQuestion yesno= HxexBeanUtils.copyProperties( new YesNoQuestion(), form );
		
		// 得到试卷对象
		String paperid = request.getParameter( "paperid" );
		TestPaperDAO paperdao = DAOFactory.getDao( TestPaperDAO.class );
		TestPaper paper = paperdao.findById( paperid, false );

		// 保存判断题信息
		yesno.setTestpaper( paper );
		paper.getYesnoquestions().add( yesno );
		
		addMessage( request, "yesnoQuestion.add.success" );
		
		// 清空Form中的数据
		YesnoQuestionForm yesnoForm = (YesnoQuestionForm)form;
		yesnoForm.setTitle( null );
		yesnoForm.setAnswer( null );
		yesnoForm.setScore( null );
		
		// 返回判断题录入页面
		return addin( mapping, form, request, response );
	}

	/**
	 * 进入判断题修改页面
	 */
	public ActionForward updatein( ActionMapping mapping, 
			ActionForm form, 
			HttpServletRequest request, 
			HttpServletResponse response ) 
			throws IOException, ServletException
	{
		// 得到用户提交的参数
		YesnoQuestionForm yesnoform = (YesnoQuestionForm)form;
		
		// 取得判断题的信息
		YesNoQuestionDAO dao = DAOFactory.getDao( YesNoQuestionDAO.class );
		YesNoQuestion question = dao.findById( yesnoform.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
	{
		// 得到用户提交的参数
		YesnoQuestionForm yesnoform = (YesnoQuestionForm)form;
		
		// 得到持久态的判断题对象
		YesNoQuestionDAO dao = DAOFactory.getDao( YesNoQuestionDAO.class );
		YesNoQuestion question = dao.findById( yesnoform.getId(), false );
		
		// 保存用户提交的参数
		question = HxexBeanUtils.copyProperties( question, form );
		
		addMessage( request, "yesnoQuestion.update.success" );
		
		// 返回试题列表页面
		return list( question.getTestpaper().getId(), mapping, request );
	}
	
	/**
	 * 判断题删除功能
	 */
	public ActionForward delete( ActionMapping mapping, 
			ActionForm form, 
			HttpServletRequest request, 
			HttpServletResponse response ) 
			throws IOException, ServletException
	{
		// 得到用户提交的参数
		YesnoQuestionForm yesnoform = (YesnoQuestionForm)form;
		
		// 删除判断题对象
		YesNoQuestionDAO dao = DAOFactory.getDao( YesNoQuestionDAO.class );
		YesNoQuestion question = dao.findById( yesnoform.getId(), false );
		TestPaper paper = question.getTestpaper();
		paper.getYesnoquestions().remove( question );
		dao.makeTransient( question );

		addMessage( request, "yesnoQuestion.delete.success" );
		
		// 返回判断题列表页面
		return list( paper.getId(), mapping, request );
	}
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -