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

📄 teacheraction.java

📁 在线考试系统: 这是基于struts和Hibernate的最新技术的在线考试系统.数据库是MySql.能添加课程
💻 JAVA
字号:
/**
 * 
 */
package com.zjxy.hibernate.action;

import java.lang.reflect.InvocationTargetException;
import java.sql.Date;
import java.util.List;

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

import org.apache.commons.beanutils.BeanUtils;
import org.apache.struts.action.ActionError;
import org.apache.struts.action.ActionErrors;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;
import org.apache.struts.action.ActionMessage;
import org.apache.struts.actions.DispatchAction;

import com.zjxy.hibernate.base.PageDAO;
import com.zjxy.hibernate.base.TeacherManager;
import com.zjxy.hibernate.form.TeacherForm;
import com.zjxy.hibernate.model.Teacher;
import com.zjxy.hibernate.model.User;
import com.zjxy.hibernate.pagerHelp.Pager;
import com.zjxy.hibernate.pagerHelp.PagerHelp;

/**
 * @author gradenarn
 *
 */
public class TeacherAction extends DispatchAction{
	/**
	 * 教师信息一览画面显示
	 * @param actionMapping
	 * @param actionForm
	 * @param httpServletRequest
	 * @param httpServletresponse
	 * @return
	 */
	 public ActionForward display(ActionMapping actionMapping,
             ActionForm actionForm,
             HttpServletRequest httpServletRequest,
             HttpServletResponse httpServletresponse) {
		    // 用于输出到页面的记录集合
	        List clInfos = null;
	        String sqlBean = "from com.zjxy.hibernate.model.Teacher";
	        // 记录总行数
	        int totalRows = 0;
	        TeacherManager teacherManager = new TeacherManager();
	        List list = teacherManager.getTeacherList();
	        totalRows = list.size();
	        PageDAO pageDAO = new PageDAO();

	        // 取得当前表中的总行数

	        // 通过PagerHelper类来获取用于输出到页面的pager对象
	        Pager pager=PagerHelp.getPager(httpServletRequest,totalRows);

	        // 取出从startRow开始的pageSize行记录
	        try {
	            clInfos = pageDAO.findWithPage(pager.getPageSize(), pager.getStartRow(),sqlBean);
	            } catch (Exception ex) {
	                servlet.log(ex.toString());
	         }
	       
	         Integer total = Integer.valueOf(totalRows);
	         //把输出的记录集和pager对象保存到request对象中
	         httpServletRequest.setAttribute("TOTALROWS", total);
	         httpServletRequest.setAttribute("CLINFOS", clInfos);
	         httpServletRequest.setAttribute("PAGER", pager);
	         
         return actionMapping.findForward("display");
}
		/**
		 * 教师信息添加画面初期表示
		 * @param actionMapping
		 * @param actionForm
		 * @param httpServletRequest
		 * @param httpServletresponse
		 * @return
		 */
	 public ActionForward addDisplay(ActionMapping actionMapping,
          ActionForm actionForm,
          HttpServletRequest httpServletRequest,
          HttpServletResponse httpServletresponse) {
		 return actionMapping.findForward("addDisplay");
	 }
	 
		/**
		 * 教师信息添加
		 * @param actionMapping
		 * @param actionForm
		 * @param request
		 * @param response
		 * @return
		 */
	 public ActionForward add(ActionMapping actionMapping,
          ActionForm form,
          HttpServletRequest request,
          HttpServletResponse response) {
		 
		 // 定义TeacherForm对象用于获取页面信息
		 TeacherForm teacherForm = (TeacherForm) form;
		 Teacher teacher = new Teacher();
		 User user = new User();
		 TeacherManager teacherManager = new TeacherManager();
		 // 定义existFlag变量,用于判断教师帐号存在性判断
		 boolean existFlag = false;
		 // 定义ActionErrors对象
		 ActionErrors errors = new ActionErrors();
		 
		 // 将页面取得的信息设置值到Teacher JavaBean中
		 // 教师帐号
		 teacher.setTeacherID(teacherForm.getTeacherID());
		 // 教师姓名
		 teacher.setTeacherName(teacherForm.getTeacherName());
		 // 教师性别
		 teacher.setTeacherSex(teacherForm.getTeacherSex());
		 //所教课程
		 teacher.setTeacherLesson(teacherForm.getTeacherLesson());
		 // 教师联系电话
		 teacher.setTeacherCall(teacherForm.getTeacherCall());
		 // 教师联系地址
		 teacher.setTeacherAddress(teacherForm.getTeacherAddress());
		 //任课班级
		 teacher.setTeacherClass(teacherForm.getTeacherClass());
		 // 定义Date型变量并设初始值:1900-01-01
		 Date teacherTime = Date.valueOf("1900-01-01");

		 if (!("".equals(teacherForm.getTeacherTime())) || (teacherForm.getTeacherTime().length()!=0)) {
			 // 入岗日期不为空时的表示形式转化
			 teacherTime = Date.valueOf(teacherForm.getTeacherTime().replace('/', '-'));
		 }
		 // 重新设置入岗日期值
		 teacher.setTeacherTime(teacherTime);
		 // 教师初始密码
		 teacher.setTeacherNO(teacherForm.getTeacherNO());
		 
		 // 将页面取得的信息设置值到User JavaBean中
		 // 教师帐号
		 user.setUserID(teacherForm.getTeacherID());
		 // 教师密码
		 user.setPassword(teacherForm.getTeacherNO());
		 // 教师权限
		 user.setUserFlag("T");
		 
		 // 判断输入的教师帐2号是否已经存在,存在则返回true,否则返回false
		 existFlag = teacherManager.getTeacherByID(teacherForm.getTeacherID());
		 if (existFlag) {
			 // 教师帐号已经存在的情况
			 errors.add("teacherIDIsExist", new ActionError("oes.teacher.error.teacherIDIsExist"));
	        	saveErrors(request, errors);
	        	return (new ActionForward(actionMapping.getInput()));
		 }
		 // 调用TeacherManager类的addTeacher方法向数据库添加教师信息
		 teacherManager.addTeacher(teacher, user);
		 
		 //重定向:页面跳转
		 return actionMapping.findForward("addSuccess");
	 }
	 
		/**
		 * 教师信息修改画面初期表示
		 * @param actionMapping
		 * @param actionForm
		 * @param request
		 * @param response
		 * @return
		 */
	 public ActionForward modifyDisplay(ActionMapping actionMapping,
         ActionForm form,
         HttpServletRequest request,
         HttpServletResponse response) {
		 
         // 定义TeacherForm对象用于获取页面信息
		 TeacherForm teacherForm = (TeacherForm) form;
		 Teacher teacher = new Teacher();
		 TeacherManager teacherManager = new TeacherManager();
		 
		 // 从页面取得要修改数据的sequenceID值
		 int sequenceID = Integer.parseInt(request.getParameter("sequenceID"));
		 // 调用getModifyInfoByID方法取得要修改的数据
		 teacher = teacherManager.getModifyInfoByID(sequenceID);
		 // 将页面取得的信息设置值到Teacher JavaBean中
		 try {
			BeanUtils.copyProperties(teacherForm, teacher);
		} catch (IllegalAccessException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} catch (InvocationTargetException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
      // 重定向:页面跳转
		 return actionMapping.findForward("modifyDisplay");
	 }
		/**
		 * 教师信息修改
		 * @param actionMapping
		 * @param actionForm
		 * @param request
		 * @param response
		 * @return
		 */
	 public ActionForward modify(ActionMapping actionMapping,
       ActionForm form,
       HttpServletRequest request,
       HttpServletResponse response) {
      
		 // 定义TeacherForm对象用于获取页面信息
		 TeacherForm teacherForm = (TeacherForm) form;
		 Teacher teacher = new Teacher();
		 Teacher teacherOld = new Teacher();
		 User user = new User();
		 TeacherManager teacherManager = new TeacherManager();
		 ActionErrors errors = new ActionErrors();
		 
      // 将页面取得的信息设置值到Teacher JavaBean中
		 teacher.setSequenceID(teacherForm.getSequenceID());
		 teacher.setTeacherID(teacherForm.getTeacherID());
		 teacher.setTeacherName(teacherForm.getTeacherName());
		 teacher.setTeacherSex(teacherForm.getTeacherSex());
		 teacher.setTeacherLesson(teacherForm.getTeacherLesson());
		 teacher.setTeacherCall(teacherForm.getTeacherCall());
		 teacher.setTeacherAddress(teacherForm.getTeacherAddress());
		 teacher.setTeacherClass(teacherForm.getTeacherClass());
		 Date teacherTime = Date.valueOf("1900-01-01");

		 if (!("".equals(teacherForm.getTeacherTime())) || (teacherForm.getTeacherTime().length()!=0)) {
			 teacherTime = Date.valueOf(teacherForm.getTeacherTime().replace('/', '-'));
		 }
		 teacher.setTeacherTime(teacherTime);
		 teacher.setTeacherNO(teacherForm.getTeacherNO());

		 
      // 将页面取得的信息设置值到User JavaBean中
		 user.setSequenceID(teacherForm.getSequenceID());
		 user.setUserID(teacherForm.getTeacherID());
		 user.setPassword(teacherForm.getTeacherNO());
		 user.setUserFlag("T");
		 
		 // 判断修改过的教师帐号是否在数据库中已经存在,若存在则报错
		 teacherOld = teacherManager.getModifyInfoByID(teacherForm.getSequenceID());
		 if (!teacherForm.getTeacherID().equals(teacherOld.getTeacherID())) {
			 // 教师帐号已经被修改
			 if (teacherManager.getTeacherByID(teacherForm.getTeacherID())) {
				 // 教师帐号已经存在的情况
				 errors.add("teacherIDIsExist", new ActionError("oes.teacher.error.teacherIDIsExist"));
		        	saveErrors(request, errors);
		        	return (new ActionForward(actionMapping.getInput()));
			 }
		 }
		 // 修改教师信息:调用modifyTeacherInfo方法
		 teacherManager.modifyTeacherInfo(teacher, user);
		 return actionMapping.findForward("modifySuccess");
	 }
	 /**
		 * 教师信息删除
		 * @param actionMapping
		 * @param actionForm
		 * @param request
		 * @param response
		 * @return
		 */
	 public ActionForward delete(ActionMapping actionMapping,
      ActionForm form,
      HttpServletRequest request,
      HttpServletResponse response) {
		 TeacherManager teacherManager = new TeacherManager();
		 // 从页面取得要删除数据的sequenceID值
		 int sequenceID = Integer.parseInt(request.getParameter("sequenceID"));
		 teacherManager.delete(sequenceID);
		 return actionMapping.findForward("deleteSuccess");
	 }	 
	 
	 /**
		 * 教师信息查询
		 * @param actionMapping
		 * @param actionForm
		 * @param request
		 * @param response
		 * @return
		 */
	 public ActionForward search(ActionMapping actionMapping,
	         ActionForm form,
	         HttpServletRequest request,
	         HttpServletResponse response) {
		     TeacherForm teacherForm = (TeacherForm) form;
		     TeacherManager teacherManager = new TeacherManager();
			 String name = teacherForm.getTeacherIDSearch();
			 // 用于输出到页面的记录集合
		        List clInfos = null;
		        String sqlBean = "from com.zjxy.hibernate.model.Teacher as teacher where teacher.teacherID=?";
		        // 记录总行数
		        int totalRows = 0;
		        List list = teacherManager.getTeacherList();
		        totalRows = list.size();
		        PageDAO pageDAO = new PageDAO();

		        // 取得当前表中的总行数

		        // 通过PagerHelper类来获取用于输出到页面的pager对象
		        Pager pager=PagerHelp.getPager(request,totalRows);

		        // 取出从startRow开始的pageSize行记录
		        try {
		            clInfos = pageDAO.findWithPage_search(pager.getPageSize(), pager.getStartRow(), sqlBean, name);
		            } catch (Exception ex) {
		                servlet.log(ex.toString());
		         }
		       
		         if (clInfos.size() == 0) {
		        	 request.setAttribute("noRecord", new ActionMessage("oes.teacher.error.noRecord"));
		         }
		         Integer total = Integer.valueOf(totalRows);
		         //把输出的记录集和pager对象保存到request对象中
		         request.setAttribute("TOTALROWS", total);
		         request.setAttribute("CLINFOS", clInfos);
		         request.setAttribute("PAGER", pager);
          
		     request.setAttribute("searchPage", new ActionMessage("searchPage"));
			 return actionMapping.findForward("searchSuccess");
		 }
		
}

⌨️ 快捷键说明

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