2015-02-19 3 views
0

я поставил роль в сессии из сервлетаОграничить пользователя на основе их роли

session.setAttribute("role", role); 

но в СПЯ я хочу, чтобы ограничить содержание в Согласно наблюдениям роли пользователя.

<c:if test="${role.admin==true}"> 
    <th style="width:80px;">Edit</th> 
    <th style="width:80px;">Delete</th>` ` 
    <th style="width:80px;">Status</th> 
</c:if> 

это исходный код я попытался ограничить с помощью JSTL тег, но это не будет работать , пожалуйста, помогите. спасибо заранее!

+1

Какова роль строка или какой-то предмет, если да паста классовая роль в вопросе? –

+0

Роль - это просто строка. в моей системе есть два типа пользователей: один - admin, а другой - обычные пользователи. если администратор входит в систему, он может делать что-либо вроде редактирования, удалять контент других, но когда обычные пользователи вошли в систему, они могут видеть только сообщение. Мне нужно скрыть кнопку редактирования, удаления и статуса для обычных пользователей на странице jsp. – pradip

+0

Если роль - это просто строка, то ваш чек неверен. «role.admin» для меня не звучит правильно. –

ответ

1

Я даю вам очень простую идею о том, чего вы хотите. Вы можете изменить его в соответствии с вашими требованиями. Если «роль» - это строка, то после получения значения роли из сеанса проверьте значение.

if(role.equalsIgnoreCase("admin")) { 
    // code for admin 
} 
else if(role.equalsIgnoreCase("normalUser")) { 
    // code for normal user 
} 

Здесь «роль» не является объектом, так что вы не можете использовать role.admin=="true".

EDIT:

В EL можно закодировать как:

<c:if test="${role eq 'admin'}"> 
    // for admin 
</c:if> 

и

<c:if test="${role eq 'normalUser'}"> 
    // for normal user 
</c:if> 
+0

Это пример скрипта Java, который теперь является неодобренной практикой. Это можно сделать с помощью EL. – christopher

+0

Да, это должно быть сделано с EL .. Это только для того, чтобы дать ему идею. –

+0

ohh его работая спасибо ravi chhatral – pradip

Смежные вопросы