2016-03-01 65 views
0

我有一个jsp页面,它为每个人都包含相同的菜单栏,每个用户都有权限,具体取决于他的状态(如果他是管理员或用户..) 我想禁用一些项目菜单栏,如果用户登录是管理员,并启用其他的 我怎么能实现这一点,请建议。 在此先感谢启用或禁用基于用jsp和servlet登录的用户权限的菜单项

回答

1

在会话中设置角色并将其获取到JSP页面中。在servlet中,

session.setAttribute("Role", "administrator"); 

而且在JSP,

<% 
String role= (String)session.getAttribute("Role"); 
pageContext.setAttribute("role",role); 
%> 

在这里,我假设你正在使用JSTL标准(刚加入这一行<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>)。

<c:choose> 
    <c:when test="{role == 'administrator'}"> 
     <!-- Menu Choice 1 --> 
    </c:when> 
    <c:otherwise> 
     <!-- Menu Choice 2 --> 
    </c:otherwise> 
</c:choose> 

有关更多详细信息,请参阅BalusC答案。希望这可以帮助。

+0

感谢您的帮助,但结果总是第二个菜单,无论用户登录什么。如果我们假设第一个菜单选择是针对管理员的,并且登录的用户是管理员,我希望启用第一个菜单选项,并显示第二个菜单,但它被禁用 – mimo

+0

您可以发布您的相关JSP和Servlet代码通过编辑你的问题? –

+0

我无法发布代码,它太长了,我对邮件的格式有问题,谢谢你的任何帮助 – mimo