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 + -
显示快捷键?