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

📄 tr_trainrecordservlet.java

📁 J2ee开发的 人事管理系统 使用oracle数据库 myeclips平台开发
💻 JAVA
字号:
package com.galaxy.controller;

import java.io.IOException;
import java.io.PrintWriter;

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

import com.galaxy.vo.TrainRecordVO;
import com.galaxy.dao.TrainClassDAO;
import com.galaxy.vo.TrainClassVO;
import com.galaxy.util.PageHelp;
import java.sql.Date;

import com.galaxy.dao.TrainRecordDAO;


public class TR_TrainRecordServlet extends HttpServlet {

	public TR_TrainRecordServlet() {
		super();
	}

	public void destroy() {
		super.destroy(); // Just puts "destroy" string in log

	}

	public void doGet(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {

		doPost(request, response);
	}

	public void doPost(HttpServletRequest request, HttpServletResponse response )
			throws ServletException, IOException {
		
		request.setCharacterEncoding("gb2312");
		response.setCharacterEncoding("gb2312");
		String opraParam=request.getParameter("opraParam");
		String condition=request.getParameter("condition");
		String errorMsg = "";//用于在页面上输出错误信息
		PrintWriter out = response.getWriter();
		int pageSize=5;//设置单页显示条数
		String currentPage="1";//当前显示的页面号
		
	    TrainRecordDAO trdao = new TrainRecordDAO();
		PageHelp pagehelp=new PageHelp();//实例化PageHelp对象pageHelp

//		list分支显示培训记录列表
		if("list".equals(opraParam)){
		
		pagehelp =trdao.getTrainRecordList(condition,pageSize,Integer.parseInt(request.getParameter("currentPage"))); 
		//转发至列表页面 
		request.setAttribute("pagehelp", pagehelp);
		request.setAttribute("currentPage", request.getParameter("currentPage"));
		request.getRequestDispatcher("TrainRecordList.jsp").forward(request, response);	
			
		}
//		query分支处理查询请求
		else if("query".equals(opraParam)){
			String cdstr="";
			
//			获取页面传来的查询条件
			String[] ckey=request.getParameterValues("keyparam");
			String[] cvalue=request.getParameterValues("keyvalue");
			String startdate=request.getParameter("startdate");
			String enddate=request.getParameter("enddate");
			
			for(int i=0;i<ckey.length;i++){
//				判断查询条件是否为空,如果用户没有在查询框中输入任何条件,则查出培训类别表中所有记录
				//查询均为模糊查询
				if(!"".equals(cvalue[i]))
				{
					if("tc_name".equals(ckey[i]))
					{
						TrainClassDAO tcDao = new TrainClassDAO();
						TrainClassVO  tcVo  = new TrainClassVO();
						tcVo = tcDao.get(cvalue[i]);
						cdstr+= " and tc_id ="+ tcVo.getTcId()+"";
					}else
						cdstr+= " and "+ckey[i]+" like '%"+ cvalue[i]+"%' ";	
				}
				
				if(null!=startdate&&!startdate.equals(""))
					cdstr+=" and start_time >= to_date('"+startdate+"','yyyy-mm-dd')";
				if(null!=enddate&&!enddate.equals(""))
					cdstr+=" and end_time <=to_date('"+enddate+"','yyyy-mm-dd')";
							}
				
				pagehelp =trdao.getTrainRecordList(cdstr,pageSize,1); 
				//转发至列表页面 
				request.setAttribute("pagehelp", pagehelp);
				
				request.getRequestDispatcher("TrainRecordList.jsp").forward(request, response);
			}
//		当用户在菜单栏中点击培训记录时,跳入trainrecord分支。显示培训记录列表页面
		else if("trainrecord".equals(opraParam)){
				pagehelp=trdao.getTrainRecordList("", pageSize, 1); 
				/**通过userdb对象调用的getUserList方法等到要显示的内容,方法中的参数分别为查询条件,每页显示记录数,当前页码*/
				request.setAttribute("pagehelp", pagehelp);
				request.getRequestDispatcher("TrainRecordList.jsp").forward(request, response);
			
			}
//		insert分支处理列表页面的添加请求,转向添加页面
		else if("add".equals(opraParam))
			{
				request.getRequestDispatcher("TrainRecordInsert.jsp").forward(request, response);
			}
//		用户在添加页面点击提交后,add分支进行处理,写入数据库
		   if (opraParam.equals("insert")) {
			   
		     	int i = 0;

			try {
				
				/*TrainRecordDAO trDao = new TrainRecordDAO();
				String vali = request.getParameter("vali");

				if (vali != null) {
					Long tr_id = Long.parseLong(request.getParameter("id"));
					TrainRecordVO tcvalidate = trDao.get(tr_id);
					if (tcvalidate != null) {
						// 如果记录集为非空,表明有相匹配的用户名,注册失败:
						errorMsg = "已经存在相同的类型编码,请重新输入再试NG!!";
						out.println(errorMsg);
					} else {

						errorMsg = "您输入的登陆类型编码可用!!OK!!";
						out.println(errorMsg);

					}
					out.flush();
					out.close();
				} else {*/
				    TrainRecordDAO trDao = new TrainRecordDAO();
					TrainRecordVO trVo = new TrainRecordVO();
					TrainClassVO tcVo = new TrainClassVO();
					tcVo.setTcId(Long.parseLong(request.getParameter("trainclass")));
					
					trVo.setEndTime(Date.valueOf(request.getParameter("endtime")));
					trVo.setStartTime(Date.valueOf(request.getParameter("starttime")));
					trVo.setTrainClass(tcVo);
					trVo.setTrCharacter(request.getParameter("character"));
					trVo.setTrCourse(request.getParameter("course"));
					trVo.setTrCoursetime(null);
					trVo.setTrFee(Long.parseLong(request.getParameter("fee")));
					trVo.setTrForm(request.getParameter("form"));
					trVo.setTrManager(request.getParameter("manager"));
					trVo.setTrName(request.getParameter("name"));
					trVo.setTrOrgnization(request.getParameter("orgnization"));
					trVo.setTrPlace(request.getParameter("place"));
					trVo.setTrState(request.getParameter("state"));
					trVo.setTrTeacher(request.getParameter("teacher"));

					i = trDao.add(trVo);
					if (i > 0) {// 注册成功
//						显示添加成功后的培训类别列表页面
						PageHelp pageHelp = trDao.getTrainRecordList("",
								pageSize, 1);
						/** 通过userdb对象调用的getUserList方法等到要显示的内容,方法中的参数分别为查询条件,每页显示记录数,当前页码 */
						request.setAttribute("pagehelp", pageHelp);
						request.getRequestDispatcher("TrainRecordList.jsp")
								.forward(request, response);
					} else {
						errorMsg = "保存失败,请重试!!";
						request.setAttribute("errorMsg", errorMsg);
						request.getRequestDispatcher("Insert_failure.jsp")
								.forward(request, response);
					}
					// }
				//}
			} catch (Exception e) {
				e.printStackTrace();
			}
		}
		   
		//用户在列表页面点击删除后,进入delete分支处理
		if (opraParam.equals("delete")) {// 如果要删除信息
			try {
				TrainRecordDAO tcDao = new TrainRecordDAO();
				String  tcIds[] = request.getParameterValues("ch1");// 得到选中的checkbox的值,可以进行批量删除。
				for (int m = 0; m < tcIds.length; m++) {
					tcDao.delete(Integer.parseInt(tcIds[m]));// 删除所有选中的纪录
				}
				pagehelp = tcDao.getTrainRecordList("", pageSize, 
						Integer.parseInt(request.getParameter("currentPage")));
				request.setAttribute("pagehelp", pagehelp);
				// 转发至列表页面
				request.getRequestDispatcher("TrainRecordList.jsp").forward(
						request, response);
			} catch (Throwable t) {
				// 写异常日志
				getServletContext().log(t.getMessage());
			}

		}
		
		//用户在列表页面点击某条记录,view分支将该条记录的详细信息显示在详细信息页面上。
		if (opraParam.equals("view")) {

			TrainRecordDAO trDao = new TrainRecordDAO();
			TrainRecordVO  trVo = trDao.get(Long.parseLong(request
					.getParameter("hid")));// 获取选择的radio的value值。从而从数据库中获取这条纪录
			request.setAttribute("currentPage", request
					.getParameter("currentPage"));// 获取页码携带转发
			request.setAttribute("trInfo", trVo);
			
			//在页面上显示详细信息
			request.getRequestDispatcher("TrainRecordUpdate.jsp?flag=view")
					.forward(request, response);
			
		}
		//用户在查看完详细信息后,点击返回。viewReturn分支负责处理。
		if (opraParam.equals("viewReturn")) {
			request.setAttribute("currentPage", request
					.getParameter("currentPage"));// 获取页码携带转发
			// 转发至列表页面
			TrainRecordDAO trDao = new TrainRecordDAO();
			try {

				pagehelp = trDao.getTrainRecordList("", pageSize, Integer
						.parseInt(request.getParameter("currentPage")));
				// 转发至列表页面
				request.setAttribute("pagehelp", pagehelp);
				request.setAttribute("currentPage", request
						.getParameter("currentPage"));
				request.getRequestDispatcher("TrainRecordList.jsp").forward(
						request, response);
			} catch (Throwable t) {
				// 写异常日志
				getServletContext().log(t.getMessage());
			}
		}
		
//		用户在列表页面点击修改按钮后,detail分支进行处理,将请求转向更新页面
		if (opraParam.equals("detail")) {
			try {
				TrainRecordDAO trDao = new TrainRecordDAO();
				TrainRecordVO trVo = trDao.get(Long.parseLong(request.getParameter("ch1")));
				request.setAttribute("currentPage", request.getParameter("currentPage"));
				request.setAttribute("trInfo", trVo);
				
				request.getRequestDispatcher("TrainRecordUpdate.jsp").forward(
						request, response);
				
			} catch (Exception e) {
				// 写异常日志
				System.out.println(e);
			}

		}
//		用户在修改页面点击提交,进入update分支处理,将更改后结果写入数据库
		if (opraParam.equals("update")) {
			
			TrainRecordDAO trDao = new TrainRecordDAO();
			TrainRecordVO trVo = new TrainRecordVO();
			trVo = trDao.get(Long.parseLong(request.getParameter("tr_id")));
			
			//培训记录中包含培训类别的外键。
			//所以通过培训类别ID转化得到培训类别VO,封装到培训记录VO中
			TrainClassVO tcVo = new TrainClassVO();
			tcVo.setTcId(Long.valueOf(request.getParameter("trainclass")));
			
			trVo.setEndTime(Date.valueOf(request.getParameter("endtime")));
			trVo.setStartTime(Date.valueOf(request.getParameter("starttime")));
			trVo.setTrainClass(tcVo);
			trVo.setTrCharacter(request.getParameter("character"));
			trVo.setTrCourse(request.getParameter("course"));
			trVo.setTrCoursetime(null);
			trVo.setTrFee(Long.valueOf(request.getParameter("fee")));
			trVo.setTrForm(request.getParameter("form"));
			trVo.setTrManager(request.getParameter("manager"));
			trVo.setTrName(request.getParameter("name"));
			trVo.setTrOrgnization(request.getParameter("orgnization"));
			trVo.setTrPlace(request.getParameter("place"));
			trVo.setTrState(request.getParameter("state"));
			trVo.setTrTeacher(request.getParameter("teacher"));

			// 写入数据库
			int i = trDao.update(trVo);
			if (i > 0) {// 修改成功
				request.setAttribute("trVo", trVo);
				try {
					pagehelp = trDao.getTrainRecordList("", pageSize, 
							Integer.parseInt(request.getParameter("currentPage")));
					// 转发至列表页面
					request.setAttribute("pagehelp", pagehelp);
					request.setAttribute("currentPage", request.getParameter("currentPage"));
					request.getRequestDispatcher("/training/TrainRecordList.jsp").forward(
							request, response);
				} catch (Exception e) {
					// 写异常日志
					System.out.println("in the update :" + e);
				}
			} else {
				errorMsg = "修改失败,请重试!!";
				out.println(errorMsg);

			}
		}

	}

	public void init() throws ServletException {
	}

}

⌨️ 快捷键说明

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