- 浏览: 51447 次
- 性别:
- 来自: 广州
最新评论
-
qwe0ytr:
xiexie le
事务配置 -
烟的傀儡:
我的么用Spring也出现
org.hibernate.Se ...
flex+spring+ hibernate OpenSessionInViewFilter延时配置问题 -
zuoweizwzw:
aishangtao 写道楼主JS挺强悍的啊。
哪个是js?
web界面框架的设计之二--LinkBar组件实现顶级菜单 -
amcucn:
aishangtao 写道楼主JS挺强悍的啊。
看清楚哦,这 ...
web界面框架的设计之二--LinkBar组件实现顶级菜单 -
minzaipiao:
又是一大篇的代码,有没有预览图
web界面框架的设计之二--LinkBar组件实现顶级菜单
mxml代码:
PermissionManage.mxml 主模块:
<?xml version="1.0" encoding="utf-8"?> <mx:Module xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" width="100%" height="100%" fontSize="12" xmlns:ns1="components.*" creationComplete="init()"> <mx:Script> <![CDATA[ import MyEvent.ObjectEvent; import mx.rpc.remoting.mxml.RemoteObject; import mx.rpc.AsyncToken; import mx.rpc.AbstractOperation; import mx.rpc.AsyncResponder; import mx.rpc.events.ResultEvent; import mx.controls.Alert; public var ro:RemoteObject; public var token:AsyncToken; public var operation:AbstractOperation private var roleid:Number; private var funcid:Number; private var frid:Number; private function init():void { ro = new RemoteObject("roleService"); roleid=0; funcid=0; frid=0; if(funccheckbox.selected == false){ newcheckbox.enabled = false; editcheckbox.enabled = false; deletecheckbox.enabled = false; viewcheckbox.enabled = false; auditcheckbox.enabled = false; antiauditcheckbox.enabled = false; } } //获取角色ID并初始化权限列表 private function getroleId(event:Event):void { var objectEvent:ObjectEvent = event as ObjectEvent; roleid = objectEvent.obid; if(funcid ==0) return; operation = ro.getOperation("getPermissions"); token = operation.send(roleid,funcid); token.addResponder(new AsyncResponder(success,null)); } //获取 菜单ID并初始化权限列表 private function getfuncId(event:Event):void { var objectEvent:ObjectEvent = event as ObjectEvent; funcid = objectEvent.obid; if(roleid ==0) return; operation = ro.getOperation("getPermissions"); token = operation.send(roleid,funcid); token.addResponder(new AsyncResponder(success,null)); } //成功返回处理 public function success(result:Object,token:Object=null):void { var eve:ResultEvent = result as ResultEvent; if(eve.result != null) { var returnObj:Array = eve.result as Array; funccheckbox.data=funcid; frid = returnObj[8]; funccheckbox.label=returnObj[6]; if(returnObj[7] =="1"){ funccheckbox.selected = true; }else{ funccheckbox.selected = false; } if(returnObj[0] =="1"){ newcheckbox.selected = true; }else{ newcheckbox.selected = false; } if(returnObj[1] =="1"){ editcheckbox.selected = true; }else{ editcheckbox.selected = false; } if(returnObj[2] =="1"){ deletecheckbox.selected = true; }else{ deletecheckbox.selected = false; } if(returnObj[3] =="1"){ viewcheckbox.selected = true; }else{ viewcheckbox.selected = false; } if(returnObj[4] =="1"){ auditcheckbox.selected = true; }else{ auditcheckbox.selected = false; } if(returnObj[5] =="1"){ antiauditcheckbox.selected = true; }else{ antiauditcheckbox.selected = false; } if(funccheckbox.selected){ newcheckbox.enabled = true; editcheckbox.enabled = true; deletecheckbox.enabled = true; viewcheckbox.enabled = true; auditcheckbox.enabled = true; antiauditcheckbox.enabled = true; }else{ newcheckbox.enabled = false; editcheckbox.enabled = false; deletecheckbox.enabled = false; viewcheckbox.enabled = false; auditcheckbox.enabled = false; antiauditcheckbox.enabled = false; } } } //设置菜单权限 private function setfuncper(event:Event):void { if(roleid ==0 || funcid==0){ Alert.show("请选择要设置权限的角色和菜单!"); return; } var state:String; if(funccheckbox.selected){ newcheckbox.enabled = true; editcheckbox.enabled = true; deletecheckbox.enabled = true; viewcheckbox.enabled = true; auditcheckbox.enabled = true; antiauditcheckbox.enabled = true; state="1"; }else{ state="0"; newcheckbox.enabled = false; editcheckbox.enabled = false; deletecheckbox.enabled = false; viewcheckbox.enabled = false; auditcheckbox.enabled = false; antiauditcheckbox.enabled = false; } operation = ro.getOperation("updateFunctionState"); token = operation.send(frid,state); } //设置新增按钮权限 private function setnewbuttom(event:Event):void { if(frid ==0){ Alert.show("请选择要设置权限的角色和菜单!"); return; }else{ var state:String; if(newcheckbox.selected){ state="1"; }else{ state="0"; } operation = ro.getOperation("updateButtomState"); token = operation.send(frid,state,1); } } //设置修改按钮权限 private function seteditbuttom(event:Event):void { if(frid ==0){ Alert.show("请选择要设置权限的角色和菜单!"); return; }else{ var state:String; if(newcheckbox.selected){ state="1"; }else{ state="0"; } operation = ro.getOperation("updateButtomState"); token = operation.send(frid,state,2); } } //设置删除按钮权限 private function setdeletebuttom(event:Event):void { if(frid ==0){ Alert.show("请选择要设置权限的角色和菜单!"); return; }else{ var state:String; if(newcheckbox.selected){ state="1"; }else{ state="0"; } operation = ro.getOperation("updateButtomState"); token = operation.send(frid,state,3); } } //设置查看按钮权限 private function setviewbuttom(event:Event):void { if(frid ==0){ Alert.show("请选择要设置权限的角色和菜单!"); return; }else{ var state:String; if(newcheckbox.selected){ state="1"; }else{ state="0"; } operation = ro.getOperation("updateButtomState"); token = operation.send(frid,state,4); } } //设置 审核按钮权限 private function setauditbuttom(event:Event):void { if(frid ==0){ Alert.show("请选择要设置权限的角色和菜单!"); return; }else{ var state:String; if(newcheckbox.selected){ state="1"; }else{ state="0"; } operation = ro.getOperation("updateButtomState"); token = operation.send(frid,state,5); } } //设置新增按钮权限 private function setantiauditbuttom(event:Event):void { if(frid ==0){ Alert.show("请选择要设置权限的角色和菜单!"); return; }else{ var state:String; if(newcheckbox.selected){ state="1"; }else{ state="0"; } operation = ro.getOperation("updateButtomState"); token = operation.send(frid,state,6); } } ]]> </mx:Script> <mx:Panel width="100%" height="100%" layout="absolute" title="权限设置"> <mx:HBox width="100%" height="100%"> <mx:VBox width="190" height="100%"> <ns1:RoleListPage id="rolelistPage" rolelistEvent="getroleId(event)"> </ns1:RoleListPage> </mx:VBox> <mx:VBox width="200" height="100%"> <ns1:MenuListPage id="menulistpage" funlistEvent="getfuncId(event)"> </ns1:MenuListPage> </mx:VBox> <mx:VBox width="100%" height="100%"> <mx:HBox width="100%" height="20"> <mx:Spacer width="40"/> <mx:Label text="菜单名称 " fontWeight="bold"/> <mx:Spacer width="60"/> <mx:Label text="新增 " fontWeight="bold"/> <mx:Spacer width="20"/> <mx:Label text="修改 " fontWeight="bold"/> <mx:Spacer width="20"/> <mx:Label text="删除 " fontWeight="bold"/> <mx:Spacer width="20"/> <mx:Label text="查看 " fontWeight="bold"/> <mx:Spacer width="20"/> <mx:Label text="审核 " fontWeight="bold"/> <mx:Spacer width="20"/> <mx:Label text="反审核 " fontWeight="bold"/> </mx:HBox> <mx:HBox width="100%" height="100%"> <mx:HBox width="150" height="100%"> <mx:Spacer width="30"/> <mx:CheckBox id="funccheckbox" width="100" click="setfuncper(event)"/> </mx:HBox> <mx:HBox width="100%" height="100%"> <mx:Spacer width="25"/> <mx:CheckBox id="newcheckbox" width="20" click="setnewbuttom(event)"/> <mx:Spacer width="35"/> <mx:CheckBox id="editcheckbox" width="20" click="seteditbuttom(event)"/> <mx:Spacer width="35"/> <mx:CheckBox id="deletecheckbox" width="20" click="setdeletebuttom(event)"/> <mx:Spacer width="35"/> <mx:CheckBox id="viewcheckbox" width="20" click="setviewbuttom(event)"/> <mx:Spacer width="35"/> <mx:CheckBox id="auditcheckbox" width="20" click="setauditbuttom(event)"/> <mx:Spacer width="40"/> <mx:CheckBox id="antiauditcheckbox" width="20" click="setantiauditbuttom(event)"/> </mx:HBox> </mx:HBox> </mx:VBox> </mx:HBox> </mx:Panel> </mx:Module>
RoleListPage.mxml 组件:
<?xml version="1.0" encoding="utf-8"?> <mx:Module xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" width="100%" height="100%" fontSize="12" xmlns:ns1="components.*" creationComplete="init()"> <mx:Script> <![CDATA[ import MyEvent.ObjectEvent; import mx.rpc.remoting.mxml.RemoteObject; import mx.rpc.AsyncToken; import mx.rpc.AbstractOperation; import mx.rpc.AsyncResponder; import mx.rpc.events.ResultEvent; import mx.controls.Alert; public var ro:RemoteObject; public var token:AsyncToken; public var operation:AbstractOperation private var roleid:Number; private var funcid:Number; private var frid:Number; private function init():void { ro = new RemoteObject("roleService"); roleid=0; funcid=0; frid=0; if(funccheckbox.selected == false){ newcheckbox.enabled = false; editcheckbox.enabled = false; deletecheckbox.enabled = false; viewcheckbox.enabled = false; auditcheckbox.enabled = false; antiauditcheckbox.enabled = false; } } //获取角色ID并初始化权限列表 private function getroleId(event:Event):void { var objectEvent:ObjectEvent = event as ObjectEvent; roleid = objectEvent.obid; if(funcid ==0) return; operation = ro.getOperation("getPermissions"); token = operation.send(roleid,funcid); token.addResponder(new AsyncResponder(success,null)); } //获取 菜单ID并初始化权限列表 private function getfuncId(event:Event):void { var objectEvent:ObjectEvent = event as ObjectEvent; funcid = objectEvent.obid; if(roleid ==0) return; operation = ro.getOperation("getPermissions"); token = operation.send(roleid,funcid); token.addResponder(new AsyncResponder(success,null)); } //成功返回处理 public function success(result:Object,token:Object=null):void { var eve:ResultEvent = result as ResultEvent; if(eve.result != null) { var returnObj:Array = eve.result as Array; funccheckbox.data=funcid; frid = returnObj[8]; funccheckbox.label=returnObj[6]; if(returnObj[7] =="1"){ funccheckbox.selected = true; }else{ funccheckbox.selected = false; } if(returnObj[0] =="1"){ newcheckbox.selected = true; }else{ newcheckbox.selected = false; } if(returnObj[1] =="1"){ editcheckbox.selected = true; }else{ editcheckbox.selected = false; } if(returnObj[2] =="1"){ deletecheckbox.selected = true; }else{ deletecheckbox.selected = false; } if(returnObj[3] =="1"){ viewcheckbox.selected = true; }else{ viewcheckbox.selected = false; } if(returnObj[4] =="1"){ auditcheckbox.selected = true; }else{ auditcheckbox.selected = false; } if(returnObj[5] =="1"){ antiauditcheckbox.selected = true; }else{ antiauditcheckbox.selected = false; } if(funccheckbox.selected){ newcheckbox.enabled = true; editcheckbox.enabled = true; deletecheckbox.enabled = true; viewcheckbox.enabled = true; auditcheckbox.enabled = true; antiauditcheckbox.enabled = true; }else{ newcheckbox.enabled = false; editcheckbox.enabled = false; deletecheckbox.enabled = false; viewcheckbox.enabled = false; auditcheckbox.enabled = false; antiauditcheckbox.enabled = false; } } } //设置菜单权限 private function setfuncper(event:Event):void { if(roleid ==0 || funcid==0){ Alert.show("请选择要设置权限的角色和菜单!"); return; } var state:String; if(funccheckbox.selected){ newcheckbox.enabled = true; editcheckbox.enabled = true; deletecheckbox.enabled = true; viewcheckbox.enabled = true; auditcheckbox.enabled = true; antiauditcheckbox.enabled = true; state="1"; }else{ state="0"; newcheckbox.enabled = false; editcheckbox.enabled = false; deletecheckbox.enabled = false; viewcheckbox.enabled = false; auditcheckbox.enabled = false; antiauditcheckbox.enabled = false; } operation = ro.getOperation("updateFunctionState"); token = operation.send(frid,state); } //设置新增按钮权限 private function setnewbuttom(event:Event):void { if(frid ==0){ Alert.show("请选择要设置权限的角色和菜单!"); return; }else{ var state:String; if(newcheckbox.selected){ state="1"; }else{ state="0"; } operation = ro.getOperation("updateButtomState"); token = operation.send(frid,state,1); } } //设置修改按钮权限 private function seteditbuttom(event:Event):void { if(frid ==0){ Alert.show("请选择要设置权限的角色和菜单!"); return; }else{ var state:String; if(newcheckbox.selected){ state="1"; }else{ state="0"; } operation = ro.getOperation("updateButtomState"); token = operation.send(frid,state,2); } } //设置删除按钮权限 private function setdeletebuttom(event:Event):void { if(frid ==0){ Alert.show("请选择要设置权限的角色和菜单!"); return; }else{ var state:String; if(newcheckbox.selected){ state="1"; }else{ state="0"; } operation = ro.getOperation("updateButtomState"); token = operation.send(frid,state,3); } } //设置查看按钮权限 private function setviewbuttom(event:Event):void { if(frid ==0){ Alert.show("请选择要设置权限的角色和菜单!"); return; }else{ var state:String; if(newcheckbox.selected){ state="1"; }else{ state="0"; } operation = ro.getOperation("updateButtomState"); token = operation.send(frid,state,4); } } //设置 审核按钮权限 private function setauditbuttom(event:Event):void { if(frid ==0){ Alert.show("请选择要设置权限的角色和菜单!"); return; }else{ var state:String; if(newcheckbox.selected){ state="1"; }else{ state="0"; } operation = ro.getOperation("updateButtomState"); token = operation.send(frid,state,5); } } //设置新增按钮权限 private function setantiauditbuttom(event:Event):void { if(frid ==0){ Alert.show("请选择要设置权限的角色和菜单!"); return; }else{ var state:String; if(newcheckbox.selected){ state="1"; }else{ state="0"; } operation = ro.getOperation("updateButtomState"); token = operation.send(frid,state,6); } } ]]> </mx:Script> <mx:Panel width="100%" height="100%" layout="absolute" title="权限设置"> <mx:HBox width="100%" height="100%"> <mx:VBox width="190" height="100%"> <ns1:RoleListPage id="rolelistPage" rolelistEvent="getroleId(event)"> </ns1:RoleListPage> </mx:VBox> <mx:VBox width="200" height="100%"> <ns1:MenuListPage id="menulistpage" funlistEvent="getfuncId(event)"> </ns1:MenuListPage> </mx:VBox> <mx:VBox width="100%" height="100%"> <mx:HBox width="100%" height="20"> <mx:Spacer width="40"/> <mx:Label text="菜单名称 " fontWeight="bold"/> <mx:Spacer width="60"/> <mx:Label text="新增 " fontWeight="bold"/> <mx:Spacer width="20"/> <mx:Label text="修改 " fontWeight="bold"/> <mx:Spacer width="20"/> <mx:Label text="删除 " fontWeight="bold"/> <mx:Spacer width="20"/> <mx:Label text="查看 " fontWeight="bold"/> <mx:Spacer width="20"/> <mx:Label text="审核 " fontWeight="bold"/> <mx:Spacer width="20"/> <mx:Label text="反审核 " fontWeight="bold"/> </mx:HBox> <mx:HBox width="100%" height="100%"> <mx:HBox width="150" height="100%"> <mx:Spacer width="30"/> <mx:CheckBox id="funccheckbox" width="100" click="setfuncper(event)"/> </mx:HBox> <mx:HBox width="100%" height="100%"> <mx:Spacer width="25"/> <mx:CheckBox id="newcheckbox" width="20" click="setnewbuttom(event)"/> <mx:Spacer width="35"/> <mx:CheckBox id="editcheckbox" width="20" click="seteditbuttom(event)"/> <mx:Spacer width="35"/> <mx:CheckBox id="deletecheckbox" width="20" click="setdeletebuttom(event)"/> <mx:Spacer width="35"/> <mx:CheckBox id="viewcheckbox" width="20" click="setviewbuttom(event)"/> <mx:Spacer width="35"/> <mx:CheckBox id="auditcheckbox" width="20" click="setauditbuttom(event)"/> <mx:Spacer width="40"/> <mx:CheckBox id="antiauditcheckbox" width="20" click="setantiauditbuttom(event)"/> </mx:HBox> </mx:HBox> </mx:VBox> </mx:HBox> </mx:Panel> </mx:Module>
MenuListPage.mxml组件:
<?xml version="1.0" encoding="utf-8"?> <mx:Canvas xmlns:mx="http://www.adobe.com/2006/mxml" width="100%" height="100%" fontSize="12" creationComplete="init()"> <mx:Metadata> [Event(name="funlistEvent","MyEvent.ObjectEvent")] </mx:Metadata> <mx:Script> <![CDATA[ import mx.collections.Sort; import Modules.MainPage; import ValueObject.User; import mx.events.ItemClickEvent; import mx.rpc.remoting.mxml.RemoteObject; import mx.rpc.AsyncToken; import mx.rpc.AbstractOperation; import mx.rpc.AsyncResponder; import mx.collections.ArrayCollection; import mx.collections.Sort; import mx.collections.SortField; import mx.controls.Alert; import mx.rpc.events.ResultEvent; import MyEvent.ObjectEvent; public var ro:RemoteObject; private var selectedNode:Object; private function init():void { ro = new RemoteObject("roleService"); var token:AsyncToken ; var operation:AbstractOperation = ro.getOperation("getFunLists"); token = operation.send(); token.addResponder(new AsyncResponder(success,null)); } private function success(result:Object,token:Object=null):void { var eve:ResultEvent = result as ResultEvent; if(eve.result != null) { var arrayOr:ArrayCollection = eve.result as ArrayCollection; menulist.dataProvider =arrayOr; } } //设置角色回调函数 private function onclickLsit(event:Event):void { selectedNode = List(event.target).selectedItem; var menuEvent:ObjectEvent = new ObjectEvent("funlistEvent",selectedNode.data); dispatchEvent(menuEvent); } ]]> </mx:Script> <mx:VBox width="100%" height="100%"> <mx:Panel width="100%" height="100%" layout="absolute" title="菜单名称"> <mx:List x="0" id="menulist" width="100%" height="100%" change="onclickLsit(event)"></mx:List> </mx:Panel> </mx:VBox> </mx:Canvas>
java代码:
获取菜单列表:
/** * 菜单列表 * @return * 2010-2-25 * Administrator */ public List getFunLists(){ List list = new ArrayList(); List returnList = new ArrayList(); list = this.service.findAllObjects("TFunction", 0, 0,"id asc"); for(int i=0;list !=null && i<list.size();i++){ TFunction tFunction = (TFunction)list.get(i); if(tFunction.getId() ==1) continue; PagComBo pagComBo = new PagComBo(); pagComBo.setLabel(tFunction.getModuleName()); pagComBo.setData(tFunction.getId()); returnList.add(pagComBo); } return returnList; }
获取角色列表:
/** * 角色附权获取所有角色 * @return * 2010-2-25 * Administrator */ public List getRoleLists(){ List list = new ArrayList(); List returnList = new ArrayList(); list = this.service.findAllObjects("TRole", 0, 0,""); for(int i=0;list !=null && i<list.size();i++){ TRole tRole = (TRole)list.get(i); PagComBo pagComBo = new PagComBo(); pagComBo.setLabel(tRole.getRoleName()); pagComBo.setData(tRole.getId()); returnList.add(pagComBo); } return returnList; }
获取菜单权限:
/** * 获取菜单权限 * @param roldid * @param funcid * @return * 2010-2-25 * Administrator */ public Object[] getPermissions(int roleid,int funcid){ Object[] obj = new Object[9]; TRole trole = new TRole(); trole = (TRole) this.service.findObjectById(trole,roleid); TFunction tFunction = new TFunction(); tFunction = (TFunction) this.service.findObjectById(tFunction,funcid); Object[] field =new Object[2]; Object[] value =new Object[2]; field[0] = "tRole"; value[0] = trole; field[1] = "tFunction"; value[1] = tFunction; TRoleFunction tRoleFunction = (TRoleFunction) this.service.findObjectByEntity("TRoleFunction", field, value); //菜单权限 String state = tRoleFunction.getState().trim(); String funcName = tFunction.getModuleName(); obj[6] = funcName; if("0".equals(state)){ obj[7] = "0"; }else{ obj[7] = "1"; } //按钮权限 java.util.Set set = tRoleFunction.getTRfButtons(); for(Iterator it=set.iterator();it.hasNext();){ TRfButton tRfButton = (TRfButton) it.next(); TButtonType tButtonType = tRfButton.gettButtonType(); String bstate = tRfButton.getState().trim(); if("1".equals(bstate)){ obj[Integer.parseInt(tButtonType.getBtype().trim())-1]="1"; }else{ obj[Integer.parseInt(tButtonType.getBtype().trim())-1]="0"; } } obj[8] = tRoleFunction.getId(); return obj; }
更新权限状态:
/** * 更新菜单是否显示 * @param frid * @param state * 2010-2-25 * Administrator */ public void updateFunctionState(int frid,String state){ updateState("TRoleFunction",frid,state); } /** * 更新按钮是否显示 * @param frid * @param state * @param bid * 2010-2-25 * Administrator */ public void updateButtomState(int frid,String state,int bid){ TRoleFunction tRoleFunction = new TRoleFunction(); tRoleFunction = (TRoleFunction) this.service.findObjectById(tRoleFunction, frid); TButtonType tButtonType = new TButtonType(); tButtonType = (TButtonType) this.service.findObjectById(tButtonType, bid); Object[] field =new Object[2]; Object[] value =new Object[2]; field[0] = "tRoleFunction"; value[0] = tRoleFunction; field[1] = "tButtonType"; value[1] = tButtonType; TRfButton tRfButton = (TRfButton) this.service.findObjectByEntity("TRfButton", field, value); int btid = tRfButton.getId(); updateState("TRfButton",btid,state); } /** * 更新状态 * @param obj * @param objid * @param state * 2010-2-25 * Administrator */ public void updateState(String obj,int objid,String state){ String[] field =new String[2]; String[] value =new String[2]; field[0] = "state"; value[0] = state; field[1] = "id"; value[1] = Integer.toString(objid); this.service.updateSql(obj,field,value); }
评论
10 楼
luoyexian
2010-03-02
ylssww 写道
最烦码上满篇code不说句人话的。
illu 写道
代码帝
大家有什么不满也不用这样子说啊!看来以后还是不发贴。
9 楼
illu
2010-03-02
代码帝
8 楼
GaoJimmy
2010-03-02
要贴代码只贴关键的不就行啦 通篇code只能是滚轮滚过而已
7 楼
xinnn
2010-03-02
拖出去,枪毙!!!
6 楼
yuan
2010-03-02
为什么新来的都喜欢刷屏呢?一系列一系列的刷。
5 楼
lfz8888666
2010-03-02
完全不知所云。
4 楼
夜之son
2010-03-02
等你的附件
3 楼
nothinkinperson
2010-03-02
这是看什么啊.看代码啊?要不要发个JDK源码看看,然后叫深入JDK.我倒
2 楼
wyh6635
2010-03-02
强烈支持楼上的说法,楼猪满篇CODE,又不先说说设计思路与解说,叫大伙咱看吗。
1 楼
ylssww
2010-03-02
最烦码上满篇code不说句人话的。
发表评论
-
flex+spring+ hibernate OpenSessionInViewFilter延时配置问题
2010-03-16 12:10 2063在联级查询中如果不配置OpenSessionInView ... -
web界面框架的设计之四--DataGrid的实现
2010-02-28 15:56 723DataGrid的实现和翻页 1.mxml代码: < ... -
web界面框架的设计之三-- Tree树形菜单的实现
2010-02-28 15:38 4628利用Tree控件实现树形菜单,代码 <?xml ver ... -
web界面框架的设计之二--LinkBar组件实现顶级菜单
2010-02-28 15:33 977利用LinkBar 实现菜单功能,代码: <?xml ... -
web界面框架的设计--主模块的设计
2010-02-28 15:30 976主模块主要包括一个top菜单的,一个树形菜单,一个用来显示主要 ... -
访问不了web服务器,crossdomain.xml安全沙箱的问题
2010-02-27 13:37 1230使用jboss服务器时其他机器访问不了主机,主 ...
相关推荐
在本课程设计中,我们将深入探讨“Web+ Java 框架课程设计——网上购物系统”的核心知识点。这个项目旨在让学生掌握如何利用Java技术栈构建一个完整的电子商务平台,包括前端展示、用户交互以及后端业务逻辑处理。在...
**Struts2**:Struts2是一个基于MVC设计模式的Web应用框架,它弥补了Struts1的一些不足,提供了更灵活的请求处理和更丰富的拦截器机制。Struts2的核心是Action类,负责接收请求并调用业务逻辑,最后返回结果视图。...
新MVC框架(带菜单权限)是一个基于.NET MVC5技术栈构建的权限管理系统。...通过学习和实践这些知识点,开发者不仅可以理解和使用这个“新MVC框架(带菜单权限)”,还可以进一步提升自己的.NET Web开发技能。
《Web网站权限管理系统设计与实现》 在当前信息化社会中,Web应用已经成为企业与用户交互的重要平台,而权限管理系统作为Web应用的核心组成部分,对于保障数据安全、规范用户操作及维护系统稳定具有至关重要的作用...
本文主要探讨了如何基于MVC(Model-View-Controller)架构设计和实现一个基于RBAC(Role-Based Access Control)的访问控制框架,以提升系统安全性。以下是论文的主要内容: 1. **MVC架构概述**: MVC架构是一种...
ZK 是一个事件驱动(event-driven)的,基于组件(component-based)的,用以丰富网络程序中用户界面的框架。ZKACEGI是ZK与ACEGI相结合的技术,包含了用户、角色、权限等几个部分,实现了登录管理、权限控制、操作控制等...
【Java Web项目开发案例精粹02-投票系统】是一个非常适合初学者的实践项目,它主要涉及了Java Web开发中的核心技术和基本业务流程。在这个项目中,你可以学习到如何使用Java语言、Web框架以及数据库技术来构建一个...
本项目是基于.NET框架实现的办公自动化系统(OA系统),它利用了三层架构技术进行设计,并且整合了jQuery库,实现了用户-角色-权限的精细权限控制。 **表现层(UI)**:这是用户与系统交互的界面,负责显示数据和...
.NET前端界面框架是一种用于构建美观、高效的Web应用用户界面的技术,尤其适合开发具有左侧导航、右侧主要内容区域以及顶部固定元素的布局。这类框架通常提供一套完整的UI组件库,包括按钮、表格、表单、模态框等,...
ASP.NET WebAPI+mvc4.0+EasyUI 快速开发框架是现代Web应用程序开发中的一个强大组合,尤其适用于构建企业级的通用权限管理系统。这个框架结合了多种技术的优势,以提供高效、灵活且易于维护的解决方案。 首先,ASP...
总之,C#结合Web开发的权限管理系统涉及多方面的知识,包括C#编程、ASP.NET Web应用、数据库设计、安全性、软件架构和前端技术。通过这些知识点的融合,可以构建出高效、安全且易于维护的权限管理系统。
再者,"PermissionImport.zip"可能包含了数据导入工具或相关的数据格式规范,使得系统能够方便地导入已有用户数据或权限设置,这对于大型系统来说尤其重要,可以快速地将原有数据迁移至新系统,降低切换成本。...
本项目是一个Java毕业设计,基于SpringBoot框架构建了一个Web智慧社区系统,旨在提供一个高效、便捷的社区管理和服务平台。该系统涵盖了智慧社区的核心功能,包括用户管理、服务请求、公告发布、活动组织等,实现了...
【标题】"asp.net+Web+mvc4.0 EasyUI 最新 权限管理系统源码教程" 提供的是一款基于ASP.NET技术栈,利用Web和MVC4.0框架,结合EasyUI前端库构建的权限管理系统。这个系统旨在帮助开发者理解和实现用户权限的精细控制...
【NCUAP培训-WEB开发框架-案例完美版资料】是一个深入探讨WEB开发框架的教程,专注于使用UAP V6.1平台。该培训资料详细介绍了如何利用此框架进行高效、高质量的WEB应用开发,旨在提升开发者的技能和对UAP V6.1的理解...
"基于SSM框架+vue的Web网盘系统的设计与实现" 基于SSM框架+vue的Web网盘系统的设计与实现是指利用SSM(Spring+SpringMVC+MyBatis)框架和vue.js框架来设计和实现一个Web网盘系统的过程。下面是相关知识点的总结: ...
ASP.NET权限管理MVC架构EasyUI框架源码带完整文档 注意:不带技术支持,有帮助文件,虚拟商品,发货不退,看好再拍。 开发语言 : C# 数据库 : SQL2008 开发工具 : VS2010 源码类型 : WebForm 1、基于 ASP.NET MVC +...
"C#用户权限角色设置框架"是一个实用的示例,它展示了如何构建一个安全、可扩展的权限管理系统。 在C#中,我们可以利用ASP.NET的成员资格(Membership)、角色(Role)和授权(Authorization)功能来处理用户身份...
为了实现Web界面与数据库的交互,开发者通常会选用流行的Web开发框架,如Spring Boot或Django。这些框架提供了内置的安全模块,支持用户认证和授权,简化了权限管理的实现。 3. **数据库设计** 数据库设计应包括...