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

📄 adminaction.java

📁 java电信经典-学习例子源代码
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
			AdminsDAO dao=new AdminsDAO();
			Admins  admin=dao.findById(fm.getId());
			dao.delete(admin);
			dao.getSession().flush();
			dao.getSession().clear();
			//同样也要删除管理员拥有的角色记录数据//但hibernate设置级联删除,代码上不做处理.
			//取消级联
			AdminrolesDAO daoar=new AdminrolesDAO();
			daoar.deleteByNullAdminID();
			daoar.getSession().flush();
			daoar.getSession().clear();
			errors.add("admin.oper", new ActionMessage("admin.oper.success",TimeTools.getNowTime("HH:mm:ss")));
		}
		catch(Exception e){
			errors.add("admin.oper", new ActionMessage("admin.oper.failure",TimeTools.getNowTime("HH:mm:ss")));
		}
		this.saveErrors(request, errors);
		return mapping.findForward("godeleteadmin");
	}
	//管理员数据修改输入处理
	public ActionForward updateui(ActionMapping mapping, ActionForm form,
			HttpServletRequest request, HttpServletResponse response) throws Exception {
		//管理员数据修改
		//根据id得到用户,改变管理员的基本信息与拥有权限。然后定位到JSP现实
		AdminForm  fm=(AdminForm)form;
		AdminsDAO dao=new AdminsDAO();
		Admins  admin=dao.findById(fm.getId());
		//保存Form
		fm.setName(admin.getName());
		fm.setLoginname(admin.getLoginname());
		fm.setLoginpassword(admin.getLoginpassword());
		fm.setPasswordsec(admin.getLoginpassword());
		fm.setPhone(admin.getPhone());
		fm.setEmail(admin.getEmail());
		System.out.println("角色数:"+admin.getAdminroles().size());
		Integer[] roleid=new Integer[admin.getAdminroles().size()];
		Iterator  it=admin.getAdminroles().iterator();
		int i=0;
		while(it.hasNext()){
			Adminroles  adminrole=(Adminroles)it.next();
			roleid[i++]=adminrole.getRoleid().getId();
		}
		fm.setRoleid(roleid);
		request.setAttribute("admin", admin);
		request.setAttribute("AdminForm", fm);
		// 还需要查询所有的角色
		RolesDAO daoroles=new RolesDAO();
		List lstroles=daoroles.findAll();		
		request.setAttribute("lstroles", lstroles);
		return mapping.findForward("goadminupui");	
	}
	//管理员数据修改
	public ActionForward update(ActionMapping mapping, ActionForm form,
			HttpServletRequest request, HttpServletResponse response) throws Exception {
		//保存完毕回到原来页面
		//除保存数据外,与上面过程一样
		ActionMessages errors=new ActionMessages();
		try
		{
			AdminForm  fm=(AdminForm)form;
			AdminsDAO dao=new AdminsDAO();
			RolesDAO daorole=new RolesDAO();
			AdminrolesDAO  daoadminrole=new AdminrolesDAO();
			Admins  admin=dao.findById(fm.getId());
			if(validate(fm,errors)){//验证没有通过 			
				errors.add("admin.insert", new ActionMessage("admin.insert.failure",TimeTools.getNowTime("HH:mm:ss")));
				this.saveErrors(request, errors);
				request.setAttribute("form",form);
				return mapping.findForward("goadminupui");
			}	
			admin.setLoginname(fm.getLoginname());
			admin.setLoginpassword(fm.getLoginpassword());
			admin.setName(fm.getName());
			admin.setEmail(fm.getEmail());
			admin.setPhone(fm.getPhone());
			//修改角色
			Integer[] roleid=fm.getRoleid();
			Set setadminroles=new HashSet();
			for (Integer id:roleid){
				
				List lst=daoadminrole.findByAdminRoleID(admin.getId(), id);
				Adminroles  adminrole=null;
				if(lst.size()>0){
					Iterator it=lst.iterator();
					adminrole=(Adminroles)it.next();
				}
				else{
					adminrole=new Adminroles();
					adminrole.setId(0);
					adminrole.setRoleid(daorole.findById(id));
				}		
				setadminroles.add(adminrole);
			}
			admin.setAdminroles(setadminroles);
			dao.save(admin);
			dao.getSession().flush();
			dao.getSession().clear();
			//这里也有被删除的adminroles的数据
			AdminrolesDAO daoar=new AdminrolesDAO();
			daoar.deleteByNullAdminID();
			daoar.getSession().flush();
			daoar.getSession().clear();
			//恢复显示环境
			request.setAttribute("admin", admin);
			request.setAttribute("AdminForm", fm);
			// 还需要查询所有的角色
			
			List lstroles=daorole.findAll();		
			request.setAttribute("lstroles", lstroles);
			
			errors.add("admin.oper", new ActionMessage("admin.oper.success",TimeTools.getNowTime("HH:mm:ss")));
		}
		catch(Exception e){
			errors.add("admin.oper", new ActionMessage("admin.oper.failure",TimeTools.getNowTime("HH:mm:ss")));
		}
		this.saveErrors(request, errors);
		return mapping.findForward("goadminupui");
	}
	
	//管理员本身信息修改
	public ActionForward updateSuperData(ActionMapping mapping, ActionForm form,
			HttpServletRequest request, HttpServletResponse response) throws Exception {
		//用户个人信息修改
		ActionMessages errors=new ActionMessages();
		try
		{
			AdminForm  fm=(AdminForm)form;
			AdminsDAO dao=new AdminsDAO();
			if(validate(fm,errors)){//验证没有通过 			
				errors.add("admin.insert", new ActionMessage("admin.insert.failure",TimeTools.getNowTime("HH:mm:ss")));
				this.saveErrors(request, errors);
				request.setAttribute("form",form);
				return mapping.findForward("goadminsuper");
			}	
			
			Admins  admin=dao.findById(fm.getId());
			admin.setLoginname(fm.getLoginname());
			admin.setLoginpassword(fm.getLoginpassword());
			admin.setName(fm.getName());
			admin.setEmail(fm.getEmail());
			admin.setPhone(fm.getPhone());
			dao.save(admin);
			dao.getSession().flush();
			dao.getSession().clear();
			//恢复显示环境
			request.setAttribute("form", fm);
			
			errors.add("admin.oper", new ActionMessage("admin.oper.success",TimeTools.getNowTime("HH:mm:ss")));
		}
		catch(Exception e){
			errors.add("admin.oper", new ActionMessage("admin.oper.failure",TimeTools.getNowTime("HH:mm:ss")));
		}
		this.saveErrors(request, errors);
		return mapping.findForward("goadminsuper");
	}
	
	//================================
	//公共处理部分
	//公共处理部分==========================================
	//权限的查询
	public void queryAdmin(String method,ActionMapping mapping, ActionForm form, 
			HttpServletRequest request, HttpServletResponse response) throws Exception {
		//权限菜单由index处理。
		//这里只负责浏览查询的业务逻辑
		//现实查询管理员信息listadmins
		
		//得到查询条件:姓名,登录名,授权日期范围
		AdminCondForm  fm=(AdminCondForm)form;
		//当前页数
		int currentpage=1;
		String hql="";
		
		if(fm.getPage()==0)//说明是提交查询
		{			
			currentpage=1;
			//重新查询数据
			String name=fm.getName();
			String loginname=fm.getLoginname();
			String datefrom=fm.getDatefrom();
			String dateto=fm.getDateto();
			//建立DAO对象进行数据查询
			
			//所有权限		
			hql="from netctoss.entities.Admins as admins  ";
			hql+="where admins.name like '%"+name+"%' ";
			hql+="and  ";
			hql+="admins.loginname like '%"+loginname+"%' ";
			hql+="and  ";
			hql+="admins.enrolldate between '"+datefrom+"'  and  '"+dateto+"'";
			request.getSession().setAttribute("hql", hql);
			request.getSession().setAttribute("form", fm);//保存form
		}
		else{//说明是分页查询
			currentpage=fm.getPage();
			hql=request.getSession().getAttribute("hql").toString();//获取上次hql			
		}
		System.out.println(hql);
		AdminsDAO  dao=new  AdminsDAO();
		Query query=dao.getSession().createQuery(hql);
			
		List  listadmins=query.list();
		
		System.out.println("管理员数:"+listadmins.size());

		//分页导航条
		int totals=listadmins.size();
		int totalpages=totals%PageParameters.ITEMS_EACH_PAGE==0?totals/PageParameters.ITEMS_EACH_PAGE:totals/PageParameters.ITEMS_EACH_PAGE +1;
		String pagenav=PageParameters.pageNavigator(totalpages, currentpage, request.getContextPath()+ request.getServletPath()+"?method="+method);
		//pagenav=response.encodeRedirectURL(pagenav);
		request.setAttribute("pagenav", pagenav);//设置分页导航数据
		//过滤数据只获取满足当前条件的数据
		
		
		query.setFirstResult((currentpage-1)*PageParameters.ITEMS_EACH_PAGE);
		query.setMaxResults(PageParameters.ITEMS_EACH_PAGE);
		listadmins=query.list();		
		request.setAttribute("listadmins", listadmins);
		
	}
}

⌨️ 快捷键说明

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