Java 检查JSP中是否设置了特定值

Java 检查JSP中是否设置了特定值,java,jsp,spring-security,Java,Jsp,Spring Security,我有一个多用户门户,我在其中为两个用户(管理员和教师)在securedHolder中存储一个值。但不存储超级管理员的值 我必须根据用户角色(管理员、教师和超级管理员)显示导航菜单 所以我想检查JSP页面中是否设置了该值。如何在JSP中实现它 我已检查用户角色,但无法检查特定值 <sec:authorize access="hasRole('ROLE_TEACHER')"> -- Do something for teacher -- want to

我有一个多用户门户,我在其中为两个用户(管理员和教师)在
securedHolder
中存储一个值。但不存储超级管理员的值

我必须根据用户角色(管理员、教师和超级管理员)显示导航菜单

所以我想检查JSP页面中是否设置了该值。如何在JSP中实现它

我已检查用户角色,但无法检查特定值

 <sec:authorize access="hasRole('ROLE_TEACHER')">
        -- Do something for teacher
        -- want to check the value here 
 </sec:authorize>

--为老师做点什么
--要检查这里的值吗

为什么不在用户登录时将用户会话中的角色属性保存为“教师”、“管理员”或“超级管理员”

然后可以使用jstl标记执行类似的操作:

<c:choose>
    <c:when test="${sessionScope.user.role == 'teacher'}">
        your nav bar for teachers
    </c:when>
    <c:when test="${sessionScope.user.role == 'admin'}">
        your nav bar for admins
    </c:when>
    <c:when test="${sessionScope.user.role == 'superadmin'}">
        your nav bar for superadmins
    </c:when>
    <c:otherwise>
        your nav bar for somebody else
    </c:otherwise>
</c:choose>

教师导航栏
管理员导航栏
超级管理员的导航栏
你的导航栏是给别人的

使用
jstl
这样做:

<c:if test="${not empty var}">
   <div>do whatever you need</div>  
</c:if>

你需要什么就做什么
混合所有,我将这样做:

<sec:authorize access="hasAnyRole('ROLE_TEACHER','ROLE_ADMIN')">
    <c:if test="${not empty var}">
       <div>do whatever you need</div>  
    </c:if>
 </sec:authorize>

你需要什么就做什么
通过使用

然后,您可以在控制器中添加任何您想要区分超级管理员的属性,作为模型属性。并使用
标记检查。角色已在
身份验证
对象内的会话中,由
spring security
管理。没有必要对响应执行thisthanx,但是我已经使用thanx对响应执行了操作,但是我已经使用