为了正常的体验网站,请在浏览器设置里面开启Javascript功能!

根据用户权限,动态显示用户菜单

2018-04-28 20页 doc 51KB 25阅读

用户头像

is_998870

暂无简介

举报
根据用户权限,动态显示用户菜单根据用户权限,动态显示用户菜单 用户权限userPermission,比如[1][2][3][4][5][6][7][8][9][10],这里的数字对应着菜单 id号,所有菜单allPermission,比如 [1][2][3][4][5][6][7][8][9][10][11][12][13][14]... 这样只要修改userPermission里的数字,就能动态显示菜单,记得刷新一下。 viewUser.jsp ; ; ; ; ; ; ; ; ; ;修改权限; ; ;; ; $(documen...
根据用户权限,动态显示用户菜单
根据用户权限,动态显示用户菜单 用户权限userPermission,比如[1][2][3][4][5][6][7][8][9][10],这里的数字对应着菜单 id号,所有菜单allPermission,比如 [1][2][3][4][5][6][7][8][9][10][11][12][13][14]... 这样只要修改userPermission里的数字,就能动态显示菜单,记得刷新一下。 viewUser.jsp <;%@ page contentType=";text/html; charset=UTF-8";%>; <;%@ taglib uri=";/WEB-INF/struts-bean.tld"; prefix=";bean";%>; <;%@ taglib uri=";/WEB-INF/struts-html.tld"; prefix=";html";%>; <;%@ taglib uri=";/WEB-INF/struts-logic.tld"; prefix=";logic";%>; <;% String allPermission=(String)request.getAttribute(";allMenu";); %>; <;% String userPermission=(String)request.getAttribute(";userPermission";); %>; <;html:html xhtml=";true";>; <;head>; <;meta http-equiv=";Content-Type"; content=";text/html; charset=utf-8"; />; <;title>;修改权限<;/title>; <;link href=";css/style.css"; rel=";stylesheet"; type=";text/css"; />; <;script src=";js/jquery-1.3.2.min.js"; type=";text/javascript";>;<;/script>; <;script type=";text/javascript";>; $(document).ready(function(){ }); <;/script>; <;script language=";JavaScript"; type=";text/javascript";>; <;!-- function selectKind(the){ var obj = the; var container = document.getElementById(";kind_"; + obj.name); for(var i=0;i<;container.getElementsByTagName(";input";).length;i++) { //container.getElementsByTagName(";input";)[i].disabled = obj.checked; container.getElementsByTagName(";input";)[i].checked = obj.checked;; } } function getCheckedBox(){ //var container = document.getElementById(";checks";); var checkNum=document.getElementsByTagName(";input";).length; var values=";";; for(var i=0;i<;checkNum;i++){ if(document.getElementsByTagName(";input";)[i].checked){ values+=";[";+document.getElementsByTagName(";input";)[i].value+";]";; } } //alert(values); window.location.href(";userManage.portal?action=sendUpdate";+";&;permissions=";+ values+";&;id=";+document.forms[0].id.value); } -->; <;/script>; <;/head>; <;body>; <;html:form action=";/userManage.portal";>; <;html:hidden property=";action"; />; <;html:hidden property=";id"; />; <;table border=";0"; cellpadding=";0"; cellspacing=";0"; width=";80%"; align=";center";>; <;logic:iterate id=";module"; name=";parentVector"; type=";com.worthtech.app.bean.Module"; indexId=";index";>; <;% int i = ((java.lang.Integer) pageContext.findAttribute(";index";)).intValue(); %>; <;% if(allPermission.indexOf(";[";+module.getId()+";]";)!=-1){%>; <;table border=";0"; width=";400";>; <;tr>; <;td>; <;div align=";left"; >; <;% if(userPermission.indexOf(";[";+module.getId()+";]";)!=-1) {%>; <;input type=";checkbox"; value=";<;%=module.getId() %>;"; name=<;%=i %>; onclick=";selectKind(this)"; checked>;<;%=module.getModuleName()%>; <;%}else{ %>; <;input type=";checkbox"; value=";<;%=module.getId()%>;"; name=<;%=i %>; onclick=";selectKind(this)";>;<;%=module.getModuleName()%>; <;%} %>; <;/div>; <;/td>; <;/tr>; <;/table>; <;%}%>; <;div id=<;%= ";kind_";+i %>; style=";padding-left:20px";>; <;table border=";0"; width=";300";>; <;logic:iterate id=";childModule"; name=";childVector"; type=";com.worthtech.app.bean.Module";>; <;% if(allPermission.indexOf(";[";+childModule.getId()+";]";)!=-1&;&;childModule .getParentId().intValue()==module.getId().intValue()){ %>; <;tr>; <;td>; <;% if(userPermission.indexOf(";[";+childModule.getId()+";]";)!=-1) {%>; <;input type=";checkbox"; value=";<;%=childModule.getId()%>;"; name=<;%=i %>; checked>;<;%=childModule.getModuleName()%>; <;%}else{ %>; <;input type=";checkbox"; value=";<;%=childModule.getId()%>;"; name=<;%=i %>; >;<;%=childModule.getModuleName()%>; <;%} %>; <;/td>; <;/tr>; <;% } %>; <;/logic:iterate>; <;/table>; <;/div>; <;/logic:iterate>; <;/table>; <;input title=";修改权限"; class=";menuList"; onclick=";getCheckedBox();"; type=";button"; value=";提 交";>; <;input title=";返回"; class=";menuList"; onclick=";window.location.href('userManage.portal?action=listUser');"; type=";button"; value=";返 回";>; <;/html:form>; <;/body>; <;/html:html>; package com.worthtech.app.action; import java.util.*; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.apache.commons.lang.StringUtils; import org.apache.struts.action.ActionForm; import org.apache.struts.action.ActionForward; import org.apache.struts.action.ActionMapping; import org.apache.struts.action.ActionMessages; import org.hibernate.criterion.DetachedCriteria; import org.hibernate.criterion.Order; import org.hibernate.criterion.Restrictions; import com.worthtech.app.bean.Module; import com.worthtech.app.bean.User; import com.worthtech.app.form.UserForm; import com.worthtech.app.service.BaseService; import com.worthtech.app.service.ModuleService; import com.worthtech.app.util.Constant; import com.worthtech.app.util.PaginationSupport; public class UserAction extends BaseAction { private BaseService baseService; private ModuleService moduleService; public ActionForward execute(ActionMapping mapping, ActionForm actionForm, HttpServletRequest request, HttpServletResponse response) { UserForm form=(UserForm)actionForm; ActionMessages errors = new ActionMessages(); System.out.println(";form.getAction()=";+form.getAction()); System.out.println(";Parameter=";+request.getParameter(";action";)); String action=request.getParameter(";action";); if(";listUser";.equals(action)){ System.out.println(";----------------list user -----------------";); if(request.getParameter(";queryAll";)!=null){ form.close(); initUserListAll(mapping,form,request,response); return mapping.findForward(";listUser";); } initUserList(mapping,form,request,response); return mapping.findForward(";listUser";); } if(";delete";.equals(action)){ System.out.println(";----------------delete user -----------------";); String id=request.getParameter(";id";); User instance=(User)this.getBaseService().get(";User";, id); this.getBaseService().delete(instance); System.out.println(";-------delete success------------";); initUserList(mapping,form,request,response); return mapping.findForward(";listUser";); } if(";update";.equals(action)){ System.out.println(";----------------update user -----------------";); String id=request.getParameter(";id";); form.setId(id); User instance=(User)this.getBaseService().get(";User";, id); // 初始化菜单,根据MenuLevel=0代表根目录从0开始 List allModuleList = this.getModuleService().getModuleTree(Integer.parseInt(instance.getMenuLevel())) ;//1实体终端交易,2用户管理 Iterator menu = allModuleList.iterator(); Vector parentV = new Vector(); Vector childV = new Vector(); Module module; String allMenu=";";; while (menu.hasNext()) { module = (Module) menu.next(); if (module.getParentId().intValue() == 0) {//0表示父菜单 parentV.add(module); } else { childV.add(module); } allMenu+=";[";+module.getId()+";]";; } // System.out.println(";allPermission=";+allPermission); // System.out.println(";userPermission=";+user.getTelephone()); request.setAttribute(";parentVector";, parentV);//所以的父菜单 request.setAttribute(";childVector";, childV);//所以的子菜单 request.setAttribute(";allMenu";, allMenu);//所有菜单(String型) request.setAttribute(";userPermission";, instance.getPermission());//当前用户菜单(String型) return mapping.findForward(";viewUser";); } if(";sendUpdate";.equals(action)){ System.out.println(";----------------sendUpdate user -----------------";); // String id=form.getId(); String id=request.getParameter(";id";); System.out.println(";id=";+id); String permissions=request.getParameter(";permissions";); System.out.println(";permissions=";+permissions); User instance=(User)this.getBaseService().get(";User";, id); instance.setPermission(permissions); this.getBaseService().update(instance); System.out.println(";---------------update success----------------------";); initUserList(mapping,form,request,response); return mapping.findForward(";listUser";); } return mapping.findForward(";wait";); } public BaseService getBaseService() { return baseService; } public void setBaseService(BaseService baseService) { this.baseService = baseService; } public void initList(HttpServletRequest request,UserForm form,DetachedCriteria detachedCriteria){ PaginationSupport pagination=this.getBaseService().findPageByCriteria(detachedCriteria, Constant.PAGESIZE, form.getStartIndex()); List list = pagination.getItems(); // System.out.println(";billPayList.size=";+list.size()); request.setAttribute(";list";, list); request.setAttribute(";pagination";, pagination); // System.out.println(";-----------------执行完毕~~~---------------";); } public void initUserList(ActionMapping mapping, UserForm form, HttpServletRequest request, HttpServletResponse response){ DetachedCriteria detachedCriteria = DetachedCriteria.forClass(User.class); String keyword_0=form.getSearchName(); if(StringUtils.isNotEmpty(keyword_0)){ detachedCriteria.add(Restrictions.like(";userName";, ";%";+keyword_0+";%";)); } String keyword_1=form.getSearchDepartment(); if(StringUtils.isNotEmpty(keyword_1)){ if(keyword_1.equals(";全部";)){//全部 }else{ detachedCriteria.add(Restrictions.like(";address";, ";%";+keyword_1+";%";)); } } // 排序 detachedCriteria.addOrder(Order.desc(";id";)); // detachedCriteria.addOrder(Order.desc(";addTime";)); initList(request,form,detachedCriteria); } public void initUserListAll(ActionMapping mapping, UserForm form, HttpServletRequest request, HttpServletResponse response){ DetachedCriteria detachedCriteria = DetachedCriteria.forClass(User.class); // 排序 detachedCriteria.addOrder(Order.desc(";id";)); // detachedCriteria.addOrder(Order.desc(";addTime";)); initList(request,form,detachedCriteria); } public ModuleService getModuleService() { return moduleService; } public void setModuleService(ModuleService moduleService) { this.moduleService = moduleService; } } 左侧菜单页面left.jsp <;%@ page contentType=";text/html;charset=UTF-8";%>; <;%@ taglib uri=";/WEB-INF/struts-bean.tld"; prefix=";bean";%>; <;%@ taglib uri=";/WEB-INF/struts-html.tld"; prefix=";html";%>; <;%@ taglib uri=";/WEB-INF/struts-logic.tld"; prefix=";logic";%>; <;html>; <;head>; <;meta http-equiv=";Content-Type"; content=";text/html; charset=UTF-8";>; <;title>;LEFT<;/title>; <;link rel=";stylesheet"; href=";css/style.css"; type=";text/css";>; <;script language=";JavaScript";>; <;!-- function doExit(){ if (confirm(";您确定要退出本系统吗?";)){ window.open(";login.portal?action=logout";,";_parent";,";";); } } //-->; <;/script>; <;script language=";JavaScript";>; var w=200; function closenavi() { w-=200; if (w>;-10) {window.parent.testframeset.cols = ''+w+',*';repeat=setTimeout(";closenavi()";,10);} else {clearTimeout(repeat);w=200;} } function loginOutPage() { document.forms[1].SIGN_OFF.click(); } function initIt(){ divCount = document.all.tags(";DIV";); for (i=0; i<;divCount.length; i++) { obj = divCount(i); if (obj.className == ";child"; || obj.className == ";child1";) obj.style.display = ";none";; } } function expandIt(el) { obj = eval(";page"; + el); obj2 = eval(";main"; + el); if (obj.style.display == ";none";) { obj.style.display = ";block";; } else { obj.style.display = ";none";; } } onload = initIt; var judge=0; function expandall(o) { if (judge==0) {divCount2 = document.all.tags(";DIV";); for (i=0; i<;divCount2.length; i++) { obj2 = divCount2(i); if (obj2.className == ";child"; || obj.className == ";child1"; || obj2.style.display == ";none";) {obj2.style.display = ";block";;} if (obj2.className == ";menu";) { //obj2.all.tags('img')[0].src='images/treeimg/tminus.gif'; obj2.all.tags('img')[0].src='images/openfolder1.gif'; } } judge=1; o.src='images/icon-closeall.gif'; o.alt='全部折叠'; } else {divCount2 = document.all.tags(";DIV";); for (i=0; i<;divCount2.length; i++) { obj2 = divCount2(i); if (obj2.className == ";child"; || obj.className == ";child1"; || obj2.style.display == ";block";) {obj2.style.display = ";none";;} if (obj2.className == ";menu";) { obj2.all.tags('img')[0].src='images/folder1.gif'; } } judge=0; o.src='images/icon-expandall.gif'; o.alt='全部展开'; } } function quit(form) { window.close() } function loginOutPage() { document.forms[0].SIGN_OFF.click(); } <;/script>; <;/head>; <;body bgcolor=";#D8DADA"; class=";bodyTop";>; <;logic:iterate id=";module"; name=";parentVector"; type=";com.worthtech.app.bean.Module"; indexId=";index";>; <;% int i = ((java.lang.Integer) pageContext.findAttribute(";index";)).intValue(); %>; <;div id=<;%=";main"; + i%>; class=";title"; onClick=";expandIt(<;%=";"; + i%>;); return false";>; <;table class=";TableLeftTop"; style=";margin-top: 10px"; width=";138"; border=";0"; cellspacing=";0"; cellpadding=";4";>; <;tr>; <;td background=";images/LeftMenuBack.jpg";>; <;div align=";center";>; <;%=module.getModuleName()%>; <;/div>; <;/td>; <;/tr>; <;/table>; <;/div>; <;div id=<;%=";page"; + i%>; class=";child";>; <;table class=";TableLeftView"; width=";140"; border=";0"; cellspacing=";0"; cellpadding=";0";>; <;logic:iterate id=";childModule"; name=";childVector"; type=";com.worthtech.app.bean.Module";>; <;% if(childModule.getParentId().intValue()==module.getId().intValue()){ %>; <;tr>; <;td width=";44";>; <;div align=";right";>; <;img src=";images/t.gif"; width=";19"; height=";20";>; <;/div>; <;/td>; <;td width=";161";>; <;a href=<;%=childModule.getActionUrl()%>; target=";mainFrame";>;<;%=childModule.getModuleName()%>;<;/a>; <;/td>; <;/tr>; <;% } %>; <;/logic:iterate>; <;/table>; <;/div>; <;/logic:iterate>; <;table style=";margin-top: 10px"; width=";140"; border=";0"; align=";center"; cellpadding=";2"; cellspacing=";0";>; <;tr>; <;td>; <;div align=";center";>; <;a href=";#"; onclick=";doExit();";>; <;img src=";images/ico01.gif"; width=";65"; height=";15"; border=";0"; class=";MouseOver";>; <;/a>; <;/div>; <;/td>; <;td>; <;div align=";center";>; <;a href=";login.portal?action=password"; target=";mainFrame";>; <;img class=";MouseOver"; src=";images/ico02.gif"; width=";65"; height=";15"; border=";0";>; <;/a>; <;/div>; <;/td>; <;/tr>; <;/table>; <;/body>; <;/html>; 获取用户对应的系统应用菜单 // 获取用户对应的系统应用菜单 List allModuleList = this.getModuleService().getModuleTree( Integer.parseInt(user.getMenuLevel()));//0代表根菜单 Iterator menu = allModuleList.iterator(); Vector parentV = new Vector(); Vector childV = new Vector(); Module m; while (menu.hasNext()) { m = (Module) menu.next(); if(user.getPermission().indexOf(";[";+m.getId()+";]";)!=-1){ if (m.getParentId().intValue() == 0) { parentV.add(m); } else { childV.add(m); } } } request.getSession().setAttribute(";parentVector";, parentV); request.getSession().setAttribute(";childVector";, childV); // System.out.println(";--------------------获取用户对应的系统应用菜单结束-------------------------";);
/
本文档为【根据用户权限,动态显示用户菜单】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索