以简求快 Java快速开发框架LML网页架构和角色菜单展现
2012-08-09 11:04
253 查看
任何人只要在对的地方做对的事,就值得尊敬!
对于系统而言,管理员必须保证每一个用户只能做自己该做的事。所以任何一个项目,必然有一套权限管理策略。复杂的就很复杂了,我将一切从简。园子里有号称能将权限管理做的极致的,咱也没留意看过,谁知道呢。由于是实验型项目,我只是使用了单角色,具体业务大家可具体对待。
曾经我还是ASP.Net的初学者的时候,某一本从入门到精通类似的书上在介绍母板的时候,信口开河的预言:母板的出现将取代网页frameset的架构设计。当时我是深信不疑,把作者佩服的五体投地。但是,我一直怀疑母板(或者概念类似母板的一类)的作用,书上可能介绍说把若干个网页相同的部分提取为母板,这样直接引用即便于管理,又减少页面代码。问题就在这里,你需要在某一页面主动引用母板,母板就只能类似于#define,只能是在模板引擎在解析的时候将母板加以替换而已。这样,我们在访问引用同一母板的任何一个页面,母板都会被重新替换,重新解析和加载!当我们需要的众多页面的公用部分没必要甚至不可以重复加载的情况下,我们依然需要frameset/iframe。
下面,给出首页的frameset源码:
菜单展示页面的源码
需要注意的地方就是,菜单的双层循环,第一层循环是获得用户菜单的一级菜单,第二层循环是获得当前一级菜单的二级子菜单。
首页整体就这样了。很多人可能不是很熟悉velocity语法,百度吧,我也会整理一下我们经常用到的velocity语句。这一定是最简单的。
数据库文件下载:http://files.cnblogs.com/Bytime/120731233430.zip
下集预告:velocity常用基本语法。
对于系统而言,管理员必须保证每一个用户只能做自己该做的事。所以任何一个项目,必然有一套权限管理策略。复杂的就很复杂了,我将一切从简。园子里有号称能将权限管理做的极致的,咱也没留意看过,谁知道呢。由于是实验型项目,我只是使用了单角色,具体业务大家可具体对待。
曾经我还是ASP.Net的初学者的时候,某一本从入门到精通类似的书上在介绍母板的时候,信口开河的预言:母板的出现将取代网页frameset的架构设计。当时我是深信不疑,把作者佩服的五体投地。但是,我一直怀疑母板(或者概念类似母板的一类)的作用,书上可能介绍说把若干个网页相同的部分提取为母板,这样直接引用即便于管理,又减少页面代码。问题就在这里,你需要在某一页面主动引用母板,母板就只能类似于#define,只能是在模板引擎在解析的时候将母板加以替换而已。这样,我们在访问引用同一母板的任何一个页面,母板都会被重新替换,重新解析和加载!当我们需要的众多页面的公用部分没必要甚至不可以重复加载的情况下,我们依然需要frameset/iframe。
下面,给出首页的frameset源码:
菜单展示页面的源码
<!DOCTYPEhtmlPUBLIC"-//W3C//DTD XHTML 1.0 Transitional//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <htmlxmlns="http://www.w3.org/1999/xhtml"> <head> <metahttp-equiv="Content-Type"content="text/html; charset=utf-8"/> <metahttp-equiv="X-UA-Compatible"content="IE=EmulateIE8"/> <title>蜜蜂的智慧</title> <linkrel="stylesheet"type="text/css"href="../Theme/1/base/css/menu.css"/> <scripttype="text/javascript"src="../Content/javascript/jquery-1.6.2.min.js"></script> <scripttype="text/javascript"src="../Content/javascript/Framework/index.js"></script> </head> <bodystyle="background: url(../Theme/1/base/images/menu_bg.jpg) repeat-y;"> <divid="menu"style="height:100%;"> <divclass="content"> <divclass="menu_info"> <ulid="first_menu"> #foreach($item in $menu.rows) #if("$item.level"=="1") <liclass="L1"><ahref="javascript:c('$item.Id');"id="$item.Id"><span> <imgsrc="../Content/images/menu/$item.pic"align="absMiddle"/>$item.name</span></a></li> <ulid="${item.id}d"style="display: none;"class="U1"> #foreach($item2 in $menu.rows) #if("$item2.parent"=="$item.id") <liclass="L22"><ahref="javascript:;"id="$item2.Id"onclick="OpenUrl('$item2.id','/Wisdom/$item2.url');"> <span>$item2.name</span></a></li> #end #end </ul> #end #end </ul> </div> </div> </div> <divclass="key"onclick="initHidemenu(bottom);"> </div> <scriptlanguage="JavaScript"> function OpenUrl(id, url) { $("#mainindex", window.parent.document).attr("src", url); $(".L22 > a").removeClass("active"); $(id).addClass("active"); }; $("#first_menu > li > a > span").hover( function () { $(this).stop().animate({ paddingLeft: "15px" }, 200); }, function () { $(this).stop().animate({ paddingLeft: "5px" }); } ); </script> </body> </html>
需要注意的地方就是,菜单的双层循环,第一层循环是获得用户菜单的一级菜单,第二层循环是获得当前一级菜单的二级子菜单。
首页整体就这样了。很多人可能不是很熟悉velocity语法,百度吧,我也会整理一下我们经常用到的velocity语句。这一定是最简单的。
数据库文件下载:http://files.cnblogs.com/Bytime/120731233430.zip
下集预告:velocity常用基本语法。
相关文章推荐
- 【Java快速开发框架LML菜单和权限】
- Java快速开发框架LML功能菜单管理
- 以简求快 Java快速开发框架LML菜单和权限
- 以简求快 Java快速开发框架LML总体架构预览
- 以简求快 Java快速开发框架LML功能菜单管理
- 以简求快 Java快速开发框架LML数据集之Result和ResultSet
- 以简求快 Java快速开发框架LML配置及实例源码
- 以简求快 Java快速开发框架LML之velocity常用基本语法
- 以简求快 Java快速开发框架LML增删改查
- Java快速开发框架LML简介
- 以简求快 Java快速开发框架LML配置及实例源码
- java快速开发平台 二次开发 外包项目利器 springmvc SSM后台框架源码
- RDIFramework.NET ━ .NET快速信息化系统开发框架 V3.2->WinForm版本新增新的角色授权管理界面效率更高、更规范
- .NET快速信息化系统开发框架 V3.2->WinForm版本新增新的角色授权管理界面效率更高、更规范
- JAVA平台WebService快速开发框架
- Java Web快速开发框架 ---- JSPX (二)
- Java Web开发的轻便架构Tapestry5---页面渲染之框架职责
- java快速开发平台 二次开发 外包项目利器 springmvc SS-M后台框架源码 (转载)
- 微信公众号开发-自定义菜单中链接用MUI前端框架写的网页以及发布到SAE服务器
- Java Web快速开发框架 ---- JSPX