一、功能需求:
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>
原文地址:http://blog.csdn.net/jkxqj/article/details/46008877