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