epaperaction.java
来自「培训考试系统代码」· Java 代码 · 共 1,100 行 · 第 1/3 页
JAVA
1,100 行
* 查询试卷操作
*/
private ActionForward queryPaper(ActionMapping mapping,
ActionForm form, HttpServletRequest req,
HttpServletResponse res)
{
//从EPaperForm中获取查询条件;
String titleTerm = ((EPaperForm)form).getTitleTerm();
String classIdTerm = ((EPaperForm)form).getClassIdTerm();
String paperTypeTerm = ((EPaperForm)form).getPaperTypeTerm();
String statusTerm = ((EPaperForm)form).getStatusTerm();
String opeType =((EPaperForm)form).getOpeType();//从form中获取
//定义连接的实例
SysDbConn aplcoms = null;
try
{
//得到一个连接的实例
aplcoms = SysConnPool.getInstance().getAplComs();
//根据查询条件,从数据库中获取试题记录
aplcoms.preparedSP();
aplcoms.setString(1,titleTerm);
aplcoms.setString(2,classIdTerm);
aplcoms.setString(3,paperTypeTerm);
aplcoms.setString(4,statusTerm);
SysResultSet rs1 = aplcoms.csCommonSP("P_Agt_EPaperSearch").getResultSet();
rs1.next();
aplcoms.preparedQuery(rs1.getString(1));
SysResultSet rs2 = aplcoms.csCommonQuery("SELFSQL","1","-1").getResultSet();
if(opeType.equalsIgnoreCase(OperatorFlagCode.EPAPER_QUERY))
{//定向到列表显示页面
//把结果集存放到session中
req.getSession().setAttribute("EPAPER-QUERY-RESULTSET",rs2);
return (mapping.findForward("epaperlist"));
}
else if( opeType.equalsIgnoreCase(OperatorFlagCode.EPAPER_QUERY_FORSELECT))
{//定向到选择试卷页面--考试
//把结果集存放到session中
req.setAttribute("order",req.getParameter("order"));
req.getSession().setAttribute("EPAPER-QFORSELECT-RESULTSET",rs2);
return (mapping.findForward("selectepaper"));
}
else if( opeType.equalsIgnoreCase(OperatorFlagCode.EPAPER_QUERY_FORSELECT1))
{//定向到选择试卷页面--课程
//把结果集存放到session中
req.getSession().setAttribute("EPAPER-QFORSELECT1-RESULTSET",rs2);
return (mapping.findForward("selectepaper1"));
}
else
{
return (mapping.findForward("epaperlist"));
}
}
catch (SysDbException aple)
{//捕获CommonService系统异常,定向到出错页面
//输出异常信息
aple.printStackTrace();
req.setAttribute("errorId",ErrorCode.COMMONSERVICE_ERROR);
return (mapping.findForward("error"));
}
catch(java.sql.SQLException sqle)
{//捕获调用aplcoms异常,定向到出错页面
// 输出异常信息
sqle.printStackTrace();
req.setAttribute("errorId",ErrorCode.DATABASE_ERROR);
return (mapping.findForward("error"));
}
catch(Exception e)
{//捕获未知异常,定向到出错页面
//输出异常信息
e.printStackTrace();
req.setAttribute("errorId",ErrorCode.UNKNOW_ERROR);
return (mapping.findForward("error"));
}
finally
{//关闭连接实例
if(aplcoms != null)
{
aplcoms.close();
}
}
}
/**
* 预览试卷或显示试卷的详细信息
*/
private ActionForward queryPaperDetail(ActionMapping mapping,
ActionForm form, HttpServletRequest req,
HttpServletResponse res)
{
//从EPaperForm中获取试卷的ID号
String paperId = paperId = ((EPaperForm)form).getPaperId();
if(paperId == null)
{//以数组方式传送
paperId = (((EPaperForm)form).getPaperIds())[0];
}
//从EPaperForm中获取操作类型;
String opeType = ((EPaperForm)form).getOpeType();//从form中获取
//定义连接的实例
SysDbConn aplcoms = null;
try
{
//得到一个连接的实例
aplcoms = SysConnPool.getInstance().getAplComs();
//根据试卷ID号,从数据库中获取试卷的详细信息
aplcoms.preparedQuery("");
aplcoms.setString(1 ,paperId);
SysResultSet rs1 = aplcoms.csCommonQuery("SQL_Agt_EPaperQueryDetail" ,"1" ,"-1").getResultSet();
//把参数值传到页面去
if(rs1 == null)
{
req.setAttribute("errorId",ErrorCode.EPAPER_QUERY_ERROR);
return (mapping.findForward("error"));
}
if(rs1.next())
{
req.setAttribute("paperId",paperId);
req.setAttribute("title",rs1.getString(1));
req.setAttribute("classId",rs1.getString(2));
req.setAttribute("releaseTime",rs1.getString(3));
req.setAttribute("testStatus",rs1.getString(4) );
req.setAttribute("paperType",rs1.getString(5) );
}
//根据试卷ID号,从数据库中获取试卷的试题信息
aplcoms.preparedQuery("");
aplcoms.setString(1 ,paperId);
SysResultSet rs2 = aplcoms.csCommonQuery("SQL_Agt_EPaperQueryTest" ,"1" ,"-1").getResultSet();
//以把结果集存放到传到页面去
req.setAttribute("EPAPER-QUERY-TESTSET",rs2);
//定向
if(opeType.equalsIgnoreCase(OperatorFlagCode.EPAPER_QUERY_DETAILBROWSE))
{ //定向到试卷预览页面
return (mapping.findForward("epaperbrowse"));
}
else if(opeType.equalsIgnoreCase(OperatorFlagCode.EPAPER_QUERY_DETAILEDIT))
{//定向到试卷编辑页面
return (mapping.findForward("epaperedit"));
}
else
{//操作类型为查询详细信息
return (mapping.findForward("epapershow"));
}
}
catch (SysDbException aple)
{//捕获CommonService系统异常,定向到出错页面
//输出异常信息
aple.printStackTrace();
req.setAttribute("errorId",ErrorCode.COMMONSERVICE_ERROR);
return (mapping.findForward("error"));
}
catch(java.sql.SQLException sqle)
{//捕获调用aplcoms异常,定向到出错页面
// 输出异常信息
sqle.printStackTrace();
req.setAttribute("errorId",ErrorCode.DATABASE_ERROR);
return (mapping.findForward("error"));
}
catch(Exception e)
{//捕获未知异常,定向到出错页面
//输出异常信息
e.printStackTrace();
req.setAttribute("errorId",ErrorCode.UNKNOW_ERROR);
return (mapping.findForward("error"));
}
finally
{//关闭连接实例
if(aplcoms != null)
{
aplcoms.close();
}
}
}
/**
* 更改试卷状态,发布或取消
*/
private ActionForward changeStatus(ActionMapping mapping,
ActionForm form, HttpServletRequest req,
HttpServletResponse res)
{
//获取操作类型
String opeType =((EPaperForm)form).getOpeType();//从form中获取
//从EPaperForm中获取试卷ID号
//按组更新状态
String[] paperIds = ((EPaperForm)form).getPaperIds();
//按单个更新状态
if(paperIds == null)
{
paperIds = new String[1];
paperIds[0] = new String(((EPaperForm)form).getPaperId());
}
//以"#"号组合所要删除的试卷,之间以"#"号分割
String paperIdSet = "";
paperIdSet = Tools.getStringSet(paperIds);
//新状态
int status = ((EPaperForm)form).getStatus();
//定义连接的实例
SysDbConn aplcoms = null;
try
{
//得到一个连接的实例
aplcoms = SysConnPool.getInstance().getAplComs();
//根据策略ID号,更改试卷状态
aplcoms.preparedSP();
aplcoms.setString(1,paperIdSet);
aplcoms.setInt(2,status);
SysDataSet ds1 = aplcoms.csCommonSP("P_Agt_EPaperStatusChange");
SysRecord rc1 = ds1.getParamSet() ;
if(rc1==null || rc1.getInt(0) == OperatorFlagCode.OPERATOR_EORROR)
{//修改失败
//定向到错误页面,错误号为EPAPER_MOD_ERROR;
req.setAttribute("errorId",ErrorCode.EPAPER_STATUSCHANGE_ERROR);
return (mapping.findForward("error"));
}
if(opeType.equalsIgnoreCase(OperatorFlagCode.EPAPER_RELEASE_SINGLE))
{//提示操作成功
if(status == 2)
{
req.setAttribute("successId",SuccessCode.EPAPER_CANCEL_SUCCESS);
}
else
{
req.setAttribute("successId",SuccessCode.EPAPER_RELEASE_SUCCESS);
}
req.setAttribute("backURL","/ExamPaperMan.do?opeType=1");
return (mapping.findForward("success"));
}
else
{//调用queryEpaper函数进行重新查询后返回到列表页面
((EPaperForm)form).setOpeType(OperatorFlagCode.EPAPER_QUERY);
return queryPaper(mapping,form,req,res);
}
}
catch (SysDbException aple)
{//捕获CommonService系统异常,定向到出错页面
//输出异常信息
aple.printStackTrace();
req.setAttribute("errorId",ErrorCode.COMMONSERVICE_ERROR);
return (mapping.findForward("error"));
}
catch(java.sql.SQLException sqle)
{//捕获调用aplcoms异常,定向到出错页面
// 输出异常信息
sqle.printStackTrace();
req.setAttribute("errorId",ErrorCode.DATABASE_ERROR);
return (mapping.findForward("error"));
}
catch(Exception e)
{//捕获未知异常,定向到出错页面
//输出异常信息
e.printStackTrace();
req.setAttribute("errorId",ErrorCode.UNKNOW_ERROR);
return (mapping.findForward("error"));
}
finally
{//关闭连接实例
if(aplcoms != null)
{
aplcoms.close();
}
}
}
///:huangyuyuan add 2004-06-16
/**
* 选择不同页面的自测题
* @param operatorFlag 用来判断这是提交动作还是选择动作
*/
private ActionForward paperSelected(ActionMapping mapping,
ActionForm form,
HttpServletRequest req,HttpServletResponse res,String operatorFlag)
{
System.out.println("hyy:EPaperAction:111111111111111111");
try
{
HttpSession session = req.getSession();
//matMap用来保存选择的数据
HashMap paperMap = (HashMap)session.getAttribute("paperMap");
//paperIds和paperNames保存的是当前页面选择的数据
String paperIds = req.getParameter("paperIds");
String paperNames = req.getParameter("paperNames");
System.out.println("hyy:EPaperAction:paperIds:"+paperIds);
System.out.println("hyy:EPaperAction:paperNames:"+paperNames);
//获得当前页的页数
String pageNumStr = req.getParameter("curPageNum");
//获得最大页的页数
String maxPageNumStr = req.getParameter("maxPageNum");
int pageNum = 1;
int maxPageNum = 1;
if((null != pageNumStr) && (null != maxPageNumStr))
{
pageNum = Integer.parseInt(pageNumStr);
maxPageNum = Integer.parseInt(maxPageNumStr);
if(pageNum < maxPageNum)
{
pageNum++;
}
}
StringTokenizer paperIdsTokenizer = new StringTokenizer(paperIds,"~");
StringTokenizer paperNamesTokenizer = new StringTokenizer(paperNames,",");
if (null == paperMap)
{
paperMap = new HashMap();
}
while((paperIdsTokenizer.hasMoreTokens()) && (paperNamesTokenizer.hasMoreTokens()))
{
paperMap.put(paperIdsTokenizer.nextToken(),paperNamesTokenizer.nextToken());
}
session.setAttribute("paperMap",paperMap);
//判断是否已经提交
if(operatorFlag.equals(OperatorFlagCode.EPAPER_SELECTED_SUBMIT))
{
//forward到另一个页面
req.getRequestDispatcher("/agt/lessonmng/SelectEPaper1.jsp?selectDone=1&pageNum=" + pageNum).forward(req,res);
}
else
{
//forward到另一个页面
req.getRequestDispatcher("/agt/lessonmng/SelectEPaper1.jsp?selectDone=0&pageNum=" + pageNum).forward(req,res);
}
}
catch(Exception e)
{
e.printStackTrace();
req.setAttribute("errorId", ErrorCode.UNKNOW_ERROR);
return servlet.findForward("error");
}
return null;
}
///:~
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?