thmainaction.java

来自「这是一个可以让学生选择自己喜欢的课题」· Java 代码 · 共 372 行

JAVA
372
字号
/*
 * Generated by MyEclipse Struts
 * Template path: templates/java/JavaClass.vtl
 */
package com.yourcompany.struts.action;

import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;

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

import org.apache.struts.action.Action;
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 allBeans.Lookresult;
import allBeans.Selectst;
import allBeans.Tasks;
import allBeans.Tittles;
import allBeans.Teachers;
import allBeans.FirstStudentTittle;
import allBeans.LastStudentTittle;
import allDAOFactory.ITaskDAO;
import allDAOFactory.ITeacherDAO;
import allDAOFactory.ITittleDAO;
import allDAOFactory.IStudentDAO;
import allDAOFactory.ILastStudentTittleDAO;
import allDAOFactory.IFirstStudentTittleDAO;
/** 
 * MyEclipse Struts
 * Creation date: 08-04-2008
 * 
 * XDoclet definition:
 * @struts.action validate="true"
 */
public class ThmainAction extends Action {
	/*
	 * Generated Methods
	 */

	/** 
	 * Method execute
	 * @param mapping
	 * @param form
	 * @param request
	 * @param response
	 * @return ActionForward
	 */
	public ActionForward execute(ActionMapping mapping, ActionForm form,
			HttpServletRequest request, HttpServletResponse response) {
		// TODO Auto-generated method stub

		String thid=(String)request.getSession().getAttribute("userID"); //得到教师的id
		if(thid==null)
			return mapping.findForward("tologinth");
		
		String loginkey=request.getParameter("loginkey");
		
		if(loginkey.equals("selfinfo"))    //转向查看个人信息界面
		{
			ITeacherDAO thdao=new ITeacherDAO();
			Teachers teacher=thdao.thget(thid);
			request.setAttribute("teacher", teacher);
			return mapping.findForward("tothselfinfo");
		}
		else if(loginkey.equals("addtittle"))    //转向添加题目提交页面
		{
			String tm=(String)request.getSession().getAttribute("tm");
			if(tm.equals("1"))
			{
				ITittleDAO tidao=new ITittleDAO();
				List list=tidao.tigetbythid(thid);
				request.setAttribute("tilist", list);
				return mapping.findForward("tothaddtittle");
			}
			else
			{
				ActionErrors errors=new ActionErrors();
				errors.add("noinputtime",new ActionMessage("thinputtittle.notinputtime.wrong"));
				this.saveErrors(request, errors);
				return mapping.findForward("toteachermain");
			}			
		}
		else if(loginkey.equals("deletetittle"))   //删除题目并转向录入题目界面
		{
			String tiid=request.getParameter("tiid");
			if(tiid!=null)
			{
				ITittleDAO tidao=new ITittleDAO();
				tidao.tidelete(Integer.parseInt(tiid));
				
				tidao=new ITittleDAO();
				List list=tidao.tigetbythid(thid);
				request.setAttribute("tilist", list);
				return mapping.findForward("tothinputtittle");			
			}
			else
			{}
		}
		else if(loginkey.equals("task"))  //转向查看任务界面
		{
			ITaskDAO tadao=new ITaskDAO();
			Tasks task=tadao.taget(thid);
			request.setAttribute("task", task);
			return mapping.findForward("tothlooktask");
		}
		else if(loginkey.equals("input"))   //转向录入题目界面
		{
			String tm=(String)request.getSession().getAttribute("tm");
			System.out.println(tm);
			if(tm.equals("1"))
			{
				ITittleDAO tidao=new ITittleDAO();
				List list=tidao.tigetbythid(thid);
				request.setAttribute("tilist", list);
				return mapping.findForward("tothinputtittle");
			}
			else
			{
				ActionErrors errors=new ActionErrors();
				errors.add("noinputtime",new ActionMessage("thinputtittle.notinputtime.wrong"));
				this.saveErrors(request, errors);
				return mapping.findForward("toteachermain");
			}
		}
		else if(loginkey.equals("select"))    //转向选择学生界面 
		{
			String tm=(String)request.getSession().getAttribute("tm");
			if(tm.equals("2"))
			{
				ITittleDAO tidao=new ITittleDAO();
				List list=tidao.tigetst(thid); //得到这个教师的所有题目				
				List lastlist=new ArrayList();
				Iterator it=list.iterator();
				while(it.hasNext())
				{
					Selectst st=new Selectst();
					Object[] obj=(Object[])it.next();
					st.setTiid(Integer.parseInt(obj[0].toString()));  
					st.setTiname(obj[1].toString());			
					IFirstStudentTittleDAO fstdao=new IFirstStudentTittleDAO();
					Integer num=fstdao.fstgetbytiid(Integer.parseInt(obj[0].toString())).size(); //从预选表中计算出选此题的人数
					st.setStsum(num);
					ILastStudentTittleDAO lstdao=new ILastStudentTittleDAO();
					List listtemp=lstdao.lstgetbytiid(st.getTiid());//根据tittle 的id 得到它在lst中的列表					
					if(listtemp.size()>0)
					{
						IStudentDAO stdao=new IStudentDAO();
						int stsize=listtemp.size();
						String st1=((LastStudentTittle)listtemp.get(0)).getLaStid();
						String stn=""+stdao.stget(st1).getStName();
						for(int i=1;i<stsize;i++)
						{
							String studentid=((LastStudentTittle)listtemp.get(i)).getLaStid();
							stn+="<br>";
							stn+=stdao.stget(studentid).getStName();
						}
						st.setStname(stn);
						st.setIsdone("1");				    
					}
					else
						st.setIsdone("0");
					lastlist.add(st);				
				}
				request.setAttribute("lastlist", lastlist);
				return mapping.findForward("tothselectstudent");
			}
			else
			{
				ActionErrors errors=new ActionErrors();
				errors.add("noinputtime",new ActionMessage("thinputtittle.notinputtime.wrong"));
				this.saveErrors(request, errors);
				return mapping.findForward("toteachermain");
			}		
		}
		else if(loginkey.equals("selectst"))    //转向选择学生提交界面(未选情况) 
		{
			String stiid=request.getParameter("tiid");
			request.setAttribute("stiid",stiid);
			Integer tiid=Integer.parseInt(stiid);
			ITittleDAO tidao=new ITittleDAO();
			Tittles tittle=tidao.tiget(tiid);
			request.setAttribute("tittle", tittle);
			IFirstStudentTittleDAO fstdao=new IFirstStudentTittleDAO();
			List list=fstdao.fstgetbytiid(tiid);
			String iscommit="0";
			if(list.size()>0)
			{
//				将选择这个题目的第一个学生的信息保存于request中
				String stid1=((FirstStudentTittle)list.get(0)).getFiStid();
				//判断这个stid是否已经被选,如果存在于最后选定表中,则说明这个学生已经被其他老师选中
				String isth1=null;
				ILastStudentTittleDAO lstdao=new ILastStudentTittleDAO();
				if(lstdao.lstget(stid1)!=null)  //这个学生已经被其他老师选定了
				{
					//如果这个学生选其他老师的题目志愿大于选这个老师的题目志愿,那么这个老师可以强选
				    Integer p1=Integer.parseInt(((FirstStudentTittle)list.get(0)).getFiPrior());
				    Integer p2=Integer.parseInt(lstdao.lstget(stid1).getLaPrior());
					if(p1<p2)
					{
						isth1="1";
						iscommit="1";
					}
					else
					   isth1="0";
				}
				else
				{
					isth1="1";
					iscommit="1";
				}
				request.setAttribute("isth1", isth1);
				System.out.println(isth1+"and"+stid1);
				
				String word1=((FirstStudentTittle)list.get(0)).getFiWord();
				String prior1=((FirstStudentTittle)list.get(0)).getFiPrior();
				IStudentDAO stdao=new IStudentDAO();
				String stname1=stdao.stget(stid1).getStName();
				request.setAttribute("stid1",stid1);
				request.setAttribute("stname1", stname1);
				request.setAttribute("word1", word1);
				request.setAttribute("prior1", prior1);
			}
			if(list.size()>1)
			{
//				将选择这个题目的第二个学生的信息保存于request中
				String stid2=((FirstStudentTittle)list.get(1)).getFiStid();				
				//判断这个stid是否已经被选,如果存在于最后选定表中,则说明这个学生已经被其他老师选中
				String isth2=null;
				ILastStudentTittleDAO lstdao=new ILastStudentTittleDAO();
				if(lstdao.lstget(stid2)!=null)
				{
					//如果这个学生选其他老师的题目志愿大于选这个老师的题目志愿,那么这个老师可以强选
				    Integer p1=Integer.parseInt(((FirstStudentTittle)list.get(1)).getFiPrior());
				    Integer p2=Integer.parseInt(lstdao.lstget(stid2).getLaPrior());
					if(p1<p2)
					{
						isth2="1";
						iscommit="1";
					}
					else
					   isth2="0";
				}
				else
				{
					isth2="1";
					iscommit="1";
				}
				request.setAttribute("isth2", isth2);
				String word2=((FirstStudentTittle)list.get(1)).getFiWord();
				String prior2=((FirstStudentTittle)list.get(1)).getFiPrior();
				IStudentDAO stdao=new IStudentDAO();
				String stname2=stdao.stget(stid2).getStName();
				request.setAttribute("stid2",stid2);
				request.setAttribute("stname2", stname2);
				request.setAttribute("word2", word2);
				request.setAttribute("prior2", prior2);
			}
			if(list.size()>2)
			{
//				将选择这个题目的第三个学生的信息保存于request中
				String stid3=((FirstStudentTittle)list.get(2)).getFiStid();
				//判断这个stid是否已经被选,如果存在于最后选定表中,则说明这个学生已经被其他老师选中
				String isth3=null;
				ILastStudentTittleDAO lstdao=new ILastStudentTittleDAO();
				if(lstdao.lstget(stid3)!=null)
				{
					//如果这个学生选其他老师的题目志愿大于选这个老师的题目志愿,那么这个老师可以强选
				    Integer p1=Integer.parseInt(((FirstStudentTittle)list.get(2)).getFiPrior());
				    Integer p2=Integer.parseInt(lstdao.lstget(stid3).getLaPrior());
					if(p1<p2)
					{
						isth3="1";
						iscommit="1";
					}
					else
					   isth3="0";
				}
				else
				{
					isth3="1";
					iscommit="1";
				}
				request.setAttribute("isth3", isth3);
				
				String word3=((FirstStudentTittle)list.get(2)).getFiWord();
				String prior3=((FirstStudentTittle)list.get(2)).getFiPrior();
				IStudentDAO stdao=new IStudentDAO();
				String stname3=stdao.stget(stid3).getStName();
				request.setAttribute("stid3",stid3);
				request.setAttribute("stname3", stname3);
				request.setAttribute("word3", word3);
				request.setAttribute("prior3", prior3);
			}
			request.setAttribute("iscommit", iscommit);
			request.setAttribute("size", String.valueOf(list.size()));
			return mapping.findForward("tothensurestudent");
		}
		else if(loginkey.equals("result")) //转向查看结果界面
		{
			String tm=(String)request.getSession().getAttribute("tm");
			if(tm.equals("3"))
			{
				ITittleDAO tidao=new ITittleDAO();
				IStudentDAO stdao=new IStudentDAO();
				
				//将学生选中的题目保存到list中
				List lastselect=new ArrayList();
				List listselect=tidao.tigetselect(thid);
				Iterator it=listselect.iterator();
				while(it.hasNext())
				{
					Lookresult lookresult=new Lookresult();
					Object[] obj=(Object[])it.next();
					lookresult.setTiid(Integer.parseInt(obj[0].toString()));
					lookresult.setTiname(obj[1].toString());
					lookresult.setTimemo(obj[2].toString());
					
					List listname=stdao.stgetname(Integer.parseInt(obj[0].toString()));
					String stname="";
					if(listname!=null)
						stname=listname.get(0).toString();
					int size=listname.size();
					for(int i=1;i<size;i++)
					{
						stname+="\n";
		                stname+=listname.get(i).toString();
					}
					lookresult.setStname(stname);
					
					lastselect.add(lookresult);
				}
				request.setAttribute("lastselect", lastselect);
				
				//将落选的题目保存到list中
				List listnoselect=tidao.tigetnoselect(thid);
				request.setAttribute("listnoselect", listnoselect);
				return mapping.findForward("tothlookresult");
			}
			else
			{
				ActionErrors errors=new ActionErrors();
				errors.add("noinputtime",new ActionMessage("thinputtittle.notinputtime.wrong"));
				this.saveErrors(request, errors);
				return mapping.findForward("toteachermain");
			}			
		}
		else if(loginkey.equals("changepsw")) //转向修改密码界面
		{
			return mapping.findForward("tothchangepsw");
		}
		else if(loginkey.equals("help"))  //转向帮助界面
		{
			return mapping.findForward("tothhelp");
		}
		else if(loginkey.equals("out"))       //注销用户名并转向登陆界面
		{
			request.getSession().removeAttribute("userID");
			request.getSession().removeAttribute("tm");
			request.getSession().removeAttribute("th_name");
			return mapping.findForward("tologinth");
		}
		else
		{}
		return null;
	}
}

⌨️ 快捷键说明

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