📄 adminaction.java
字号:
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 + -