一、功能需求: 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> 相关资源:菜单权限设计