📄 teacheraction.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 + -