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

📄 classesaction.java

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

import java.io.IOException;
import java.util.List;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;

import cn.hxex.exam.dao.ClassesDAO;
import cn.hxex.exam.dao.DAOFactory;
import cn.hxex.exam.dao.TeacherDAO;
import cn.hxex.exam.form.ClassesForm;
import cn.hxex.exam.model.Classes;
import cn.hxex.exam.model.Teacher;
import cn.hxex.exam.struts.BaseAction;
import cn.hxex.exam.util.HxexBeanUtils;
import cn.hxex.exam.util.HxexStringUtils;

/**
 * The action about class
 * 
 * @struts.action
 * 	name="classesForm"
 *  path="/manage/classes"
 *  scope="request"
 *  input="/manage/classes_add.jsp"
 *  validate="false"
 *  parameter="p"
 * 
 * @struts.action-forward 
 *  name="add" 
 *  path="/manage/classes_add.jsp" 
 *  
 * @struts.action-forward 
 *  name="list" 
 *  path="/manage/classes_list.jsp" 
 *  
 * @struts.action-forward 
 *  name="update" 
 *  path="/manage/classes_update.jsp" 
 * 
 * @struts.action-forward
 *  name="classes_teacher"
 *  path="/manage/classes_teacher.jsp"
 *   
 * @author galaxy
 *
 */
public class ClassesAction extends BaseAction
{
	protected final Log log = LogFactory.getLog(getClass());

	/**
	 * 跳转到班级信息录入页面
	 */
	public ActionForward addin(ActionMapping mapping, ActionForm form,
			HttpServletRequest request, HttpServletResponse response)
			throws IOException, ServletException
	{
		return mapping.findForward("add");
	}

	/**
	 * 保存班级信息业务处理方法
	 */
	public ActionForward save(ActionMapping mapping, ActionForm form,
			HttpServletRequest request, HttpServletResponse response)
			throws IOException, ServletException
	{
		// 得到页面传递的参数,并赋值到生成Classes对象的实例
		Classes classes = HxexBeanUtils.copyProperties(new Classes(), form);
		// 得到ClassesDAO对象的实例
		ClassesDAO dao = DAOFactory.getDao(ClassesDAO.class);
		// 持久化Classes对象的实例
		dao.makePersistent(classes);
		// 设置提示信息
		addMessage(request, "classes.meg.add.success");

		// 清空ActionForm
		ClassesForm cls = (ClassesForm) form;
		cls.setTitle(null);

		// 判断是否执行的是增加班级信息时的保存工作
		if (HxexStringUtils.isEmpty(cls.getId()))
		{
			// 如果进行的增加操作,则返回到班级信息录入页面
			return addin(mapping, form, request, response);
		} 
		else
		{
			cls.setId( null );
			// 如果进行的修改保存的操作,返回到班级信息列表页面
			return list(mapping, form, request, response);
		}
	}

	/**
	 * 班级信息列表Action方法
	 */
	public ActionForward list(ActionMapping mapping, ActionForm form,
			HttpServletRequest request, HttpServletResponse response)
			throws IOException, ServletException
	{
		// 得到ClassesDAO对象的实例
		ClassesDAO dao = DAOFactory.getDao(ClassesDAO.class);
		// 得到所有的班级对象的实例
		List<Classes> classes = dao.findAll();
		// 将班级对象的集合保存为Request的属性
		request.setAttribute("classes", classes);

		// 跳转到班级信息列表页面
		return mapping.findForward("list");
	}

	/**
	 * 得到要修改的班级信息
	 */
	public ActionForward updatein(ActionMapping mapping, ActionForm form,
			HttpServletRequest request, HttpServletResponse response)
			throws IOException, ServletException
	{
		// 得到用户提交的参数
		ClassesForm classForm = (ClassesForm) form;

		// 得到ClassesDAO对象的实例
		ClassesDAO dao = DAOFactory.getDao(ClassesDAO.class);
		// 得到用户要修改的Calsses对象的实例
		Classes c = dao.findById(classForm.getId(), false);

		// 判断用户所要修改的Classes对象是否存在
		if (c != null)
		{
			// 用户所要修改的Calsses对象存在,那么将该对象保存到请求的属性中
			request.setAttribute("classesForm", c);
			// 跳转到班级信息修改页面
			return mapping.findForward("update");
		} 
		else
		{
			// 设置班级信息不存在的提示信息
			addMessage(request, "classes.msg.update.notexist");
			// 返回班级信息列表页面
			return list(mapping, form, request, response);
		}
	}

	/**
	 * 删除班级信息
	 */
	public ActionForward delete(ActionMapping mapping, ActionForm form,
			HttpServletRequest request, HttpServletResponse response)
			throws IOException, ServletException
	{
		// 得到用户传递的参数
		ClassesForm classes = (ClassesForm) form;

		// 得到ClassesDAO对象的实例
		ClassesDAO dao = DAOFactory.getDao(ClassesDAO.class);
		// 检索用户要删除的班级信息
		Classes c = dao.findById(classes.getId(), false);
		// 判断该班级信息是否存在
		if (c != null)
		{
			// 删除该班级信息
			dao.makeTransient(c);
			// 设置提示信息
			addMessage(request, "classes.msg.delete.success");
		} 
		else
		{
			// 设置要删除的记录不存在的提示信息
			addMessage(request, "classes.msg.update.notexist");
		}

		// 返回班级信息列表页面
		return list(mapping, form, request, response);
	}

	/**
	 * 进入班级任课教师维护页面
	 */
	public ActionForward teacher(ActionMapping mapping, ActionForm form,
			HttpServletRequest request, HttpServletResponse response)
			throws IOException, ServletException
	{
		// 得到用户传递的参数
		ClassesForm classes = (ClassesForm) form;

		// 得到ClassesDAO对象的实例
		ClassesDAO classesdao = DAOFactory.getDao(ClassesDAO.class);
		// 得到用户所要修改的班级信息
		Classes c = classesdao.findById(classes.getId(), false);
		if (c != null)
		{
			// 设置班级信息
			request.setAttribute("classes", c);
			// 设置任课教师信息
			request.setAttribute("inteachers", c.getTeachers());
			// 得到TeacherDAO对象的实例
			TeacherDAO dao = DAOFactory.getDao(TeacherDAO.class);
			List<Teacher> teachers = dao.getNotInClassesTeacher( c.getId() );
			request.setAttribute("notinteachers", teachers );
		}

		// 返回到班级任课教师维护页面
		return mapping.findForward("classes_teacher");
	}
	
	/**
	 * 保存班级任课教师
	 */
	public ActionForward saveteacher(ActionMapping mapping, ActionForm form,
			HttpServletRequest request, HttpServletResponse response)
			throws IOException, ServletException
	{
		// 得到用户提交的数据
		ClassesForm classes = (ClassesForm) form;

		// 得到ClassesDAO对象的实例
		ClassesDAO classesdao = DAOFactory.getDao(ClassesDAO.class);
		// 得到用户所维护的班级信息
		Classes c = classesdao.findById(classes.getId(), false);
		if (c != null)
		{
			// 清空班级的任课教师
			c.getTeachers().clear();
			// 得到任课教师的ID值(多个)
			String[] tids = request.getParameterValues( "inteachers" );
			if( tids!=null && tids.length>0 )
			{
				// 得到教师DAO对象的实例
				TeacherDAO dao = DAOFactory.getDao(TeacherDAO.class);
				for( int i=0; i<tids.length; i++ )
				{
					// 得到教师的信息
					Teacher t = dao.findById( tids[i], false );
					// 设置该教师为这个班级的授课教师
					c.getTeachers().add( t );
				}
			}
			//	设置班级任课教师成功信息
			addMessage(request, "classes.msg.teacher.success");
		}

		// 返回班级信息列表页面
		return list( mapping, form, request, response );
	}
}

⌨️ 快捷键说明

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