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

📄 studentaction.java

📁 学生成绩管理系统
💻 JAVA
字号:
package com.stuman.web.struts.action;

import java.io.UnsupportedEncodingException;
import java.lang.reflect.InvocationTargetException;
import java.sql.SQLException;
import java.util.ArrayList;
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.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;
import org.apache.struts.validator.DynaValidatorForm;

import com.stuman.dao.CourseDAO;
import com.stuman.dao.EnrolDAO;
import com.stuman.dao.StudentDAO;
import com.stuman.domain.Student;
import com.stuman.util.DAOFactory;
import com.stuman.util.PageBean;

public class StudentAction extends BaseAction {

	private StudentDAO stuDao;

	private CourseDAO courseDAO;
 
	private EnrolDAO enrolDao;
	
	/**
	 * 构造函数
	 *
	 */
	public StudentAction (){
		stuDao=DAOFactory.getInstance().createStudentDAO();
		courseDAO=DAOFactory.getInstance().createCourseDAO();
		enrolDao=DAOFactory.getInstance().createEnrolDAO();
		enrolDao=DAOFactory.getInstance().createEnrolDAO();
	}
	public StudentDAO getStudentDAO() {
		return DAOFactory.getInstance().createStudentDAO();
	}

	public ActionForward doDefault(ActionMapping mapping, ActionForm form,
			HttpServletRequest request, HttpServletResponse response)
			throws Exception {
		// return null;
		return getStudentList(mapping, form, request, response);
	}

	/**
	 * 得到学生列表
	 * @param mapping
	 * @param form
	 * @param request
	 * @param response
	 * @return
	 */
	public ActionForward getStudentList(ActionMapping mapping, ActionForm form,
			HttpServletRequest request, HttpServletResponse response) {
		PageBean page = new PageBean();
		int currentPage = request.getParameter("currentPage") == null ? 1
				: new Integer(request.getParameter("currentPage")).intValue();

		page.setRecordsPerPage(2);
		page.setCurrentPage(currentPage);
		page.setQueryString("from Student stu");
		PageBean page2 = this.getStudentDAO().getSutdentList(page);
		request.setAttribute("splitPage", page2);
		return mapping.findForward("getList.sucess");
	}

	/**
	 * 添加一个学生信息
	 * @param mapping
	 * @param form
	 * @param request
	 * @param response
	 * @return
	 */
	public ActionForward addStudent(ActionMapping mapping, ActionForm form,
			HttpServletRequest request, HttpServletResponse response) {
		DynaValidatorForm dform = (DynaValidatorForm) form;
		Student stu = new Student();
		try {
			this.getBeanUtilsBean().copyProperties(stu, dform);
			this.getStudentDAO().saveStudent(stu);
			log.info("stu==" + stu);
		} catch (IllegalAccessException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} catch (InvocationTargetException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		return getStudentList(mapping, form, request, response);
	}

	/**
	 * 删除一个学生
	 * @param mapping
	 * @param form
	 * @param request
	 * @param response
	 * @return
	 */
	public ActionForward deleteStudent(ActionMapping mapping, ActionForm form,
			HttpServletRequest request, HttpServletResponse response) {
		String stuId = request.getParameter("id");
		this.getStudentDAO().deleteStudentByID(stuId);
		return getStudentList(mapping, form, request, response);
	}

	/**
	 * 取得一个学生信息(注意,在这里把学生自己修改信息操作也在一起)
	 * @param mapping
	 * @param form
	 * @param request
	 * @param response
	 * @return
	 */
	public ActionForward getEditStudent(ActionMapping mapping, ActionForm form,
			HttpServletRequest request, HttpServletResponse response) {
		String stuId ="";
		 //如是学生自己修改自己的信息一般会从 session 取 的id 
		if(request.getSession().getAttribute("stuid")!=null){
			stuId=(String)request.getSession().getAttribute("stuid");
		}else{
			//否则就是管理员修改学生信息,接受页面传过来的id号
		 stuId = request.getParameter("id");
		}
	String self="0";//设置是否自己修改 ,页面有些东西,学生自己不能修改,只显示给他看
	
	      if(request.getParameter("self")!=null){
	    	  self=request.getParameter("self");
	      }else{
	    	  log.info("no change" + self);
	      }
	
		log.info("stuId===" + stuId);
		Student stu = this.getStudentDAO().getStudentByID(stuId);
		try {
			this.getBeanUtilsBean().copyProperties(form, stu);
		} catch (IllegalAccessException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} catch (InvocationTargetException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		request.setAttribute("self", self);
		return mapping.findForward("getStudent.sucesss");
		
	}

	/**
	 * 更新学生信息
	 * @param mapping
	 * @param form
	 * @param request
	 * @param response
	 * @return
	 */
	public ActionForward updateStudent(ActionMapping mapping, ActionForm form,
			HttpServletRequest request, HttpServletResponse response) {
		DynaValidatorForm dform = (DynaValidatorForm) form;
		Student stu = new Student();
		    
		try {
			this.getBeanUtilsBean().copyProperties(stu, dform);
			 System.out.println("shoji =="+stu.getTel());
			this.getStudentDAO().updateStudent(stu);
			log.info("upate stu==" + stu);
		} catch (IllegalAccessException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} catch (InvocationTargetException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		
		request.setAttribute("stu", stu);
		if(request.getSession().getAttribute("stuid")!=null){
			return mapping.findForward("selfEdit.sucesss");
		}
		return getStudentList(mapping, form, request, response);
	}

	/**
	 * 取得可选学科列表(考虑如已选则不用显示)
	 * @param mapping
	 * @param form
	 * @param request
	 * @param response
	 * @return
	 */
	public ActionForward getDisplayCourse(ActionMapping mapping,
			ActionForm form, HttpServletRequest request,
			HttpServletResponse response) {
		
		String studId=(String )request.getSession().getAttribute("stuid");
//		String deptment=(String )request.getSession().getAttribute("deptment");
		List list=new ArrayList();
//		
//		PageBean page = new PageBean();
//		int currentPage = request.getParameter("currentPage") == null ? 1
//				: new Integer(request.getParameter("currentPage")).intValue();
//
//		page.setRecordsPerPage(2);
//		page.setCurrentPage(currentPage);
//		 page.setValues(new Object[]{deptment });
// 		page.setQueryString("from Course  course  where course.dep=? " );
		try {
			list=this.getCourseDAO().getCourseForStu(studId);
			if(list!=null){
//				for(int i=0;i<list.size();i++){
//					System.out.println("第"+i+"个"+list.get(i).toString());
//				}
			}
		} catch (SQLException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} 
	          request.setAttribute("courseList", list);
		return mapping.findForward("displayCourse.sucesss");
	}

	
	/**
	 * 学生选择改门学科
	 * @param mapping
	 * @param form
	 * @param request
	 * @param response
	 * @return
	 */
	public ActionForward registerStuCourse(ActionMapping mapping,
			ActionForm form, HttpServletRequest request,
			HttpServletResponse response) {
		String stuid = (String)request.getParameter("id");
		String classid = (String)request.getParameter("classid");
	    try {
			this.getEnrolDao().addEnrol(stuid, classid);
		} catch (SQLException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		return getDisplayCourse(mapping, form, request, response);
	}
	/**
	 * 取得该学生选了该学科且老师接受了该学生的分数
	 * @param mapping
	 * @param form
	 * @param request
	 * @param response
	 * @return
	 */
	public ActionForward geCheckmark(ActionMapping mapping, ActionForm form,
			HttpServletRequest request, HttpServletResponse response) {
		String stuid = (String)request.getSession().getAttribute("stuid");
		if(stuid==null){
			return null ;
		}
		List list=new ArrayList();
		try {
		  list=	this.enrolDao.getByStuId(stuid);
		} catch (SQLException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
//		if(list!=null){
//			System.out.println("size=="+list.size());
//		}
		   request.setAttribute("enrolList", list);
		return mapping.findForward("checkmark.sucesss");
	}
	
	
	public CourseDAO getCourseDAO() {
		if(this.courseDAO!=null){
		return courseDAO;
		}else{
			courseDAO=DAOFactory.getInstance().createCourseDAO();
			return this.courseDAO;
		}
	}
	public EnrolDAO getEnrolDao() {
		if(this.enrolDao==null){
			enrolDao=DAOFactory.getInstance().createEnrolDAO();
		}
		return enrolDao;
	}
	public StudentDAO getStuDao() {
		if(enrolDao==null){
			stuDao=DAOFactory.getInstance().createStudentDAO();
		}
		return stuDao;
	}
	public void setCourseDAO(CourseDAO courseDAO) {
		
		 
		this.courseDAO = courseDAO;
	}
}

⌨️ 快捷键说明

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