zl程序教程

您现在的位置是:首页 >  其他

当前栏目

后台权限管理的菜单设计

2023-03-14 10:25:26 时间

一、功能需求:
1、主界面分三块:header、menu和main
如下图
这里写图片描述
2、menu菜单栏和header都是抽取出来的jsp页面,是可以重复利用的。
点击menu不同的选项main页面可以显示不同的模块,点击退出可以退出系统。
3、不同的角色进入系统后看到的菜单有所不同,如何简单实现呢?

二、解决方案:
1、主界面的分块一般用frameset结合frame使用。

<frameset rows="50,*"> 
<frame  src="header.htm" > 
<frameset cols="200,*">
    <frame src="menu.htm" > 
    <frame src="index.htm" name="view_frame" >   
</frameset>
</frameset>

2、menu中的按钮要用target标注

<div class="list-group">
  <a href="#" class="list-group-item active">
   本科生管理
  </a>
  <a href="index.htm"  target="view_frame"  class="list-group-item">课程管理</a>
  <a href="addSite.htm"  target="view_frame"  class="list-group-item">添加课程</a>
  <a href="manageLessonBuild.htm"   target="view_frame" class="list-group-item">课程建设管理</a>   
</div>  

3、header里的退出按钮 如何退出frame呢?

<a href="#" onclick="logout()"><i class="fa fa-sign-out fa-fw"></i>退出</a>

<script>
       function logout(){
        parent.window.location ="logout.htm";  
         }
</script>   

注意:spring mvc里head是保留字,如果直接使用head命名会报错,建议改为header。

4、使用JSTL标签实现判断并隐藏按钮
JSTL里有if标签,好像可以判断,但这里不能使用,因为JSTL的if标签没有else。我们的需求是如果是某种角色就显示相应的菜单项,否则不显示。
建议使用标签
如下:

 <c:choose> 
 <c:when  test="${1==0}" >  //如果角色没有该权限则隐藏按钮
  <p hidden="hidden"><a href="lessonBuildUpdate.htm"  target="view_frame" class="list-group-item">课程建设信息更新</a></p>
 </c:when>
 <c:otherwise>            //否则正常显示该按钮
 <a href="lessonBuildUpdate.htm"  target="view_frame" class="list-group-item">课程建设信息更新</a>
 </c:otherwise>
 </c:choose>