Как условно отобразить элементы страницы JSP в зависимости от роли пользователя - PullRequest
1 голос
/ 16 февраля 2012

Как загрузить меню на веб-страницу зависит от имени пользователя? Я хочу создать веб-сайты, на которых перед входом в систему будет отображаться какое-то меню, а после входа в систему будет отображаться больше меню, зависящее от пользователя входа в систему, если администратор является логином, то появится административное меню, если обычный пользователь является логином, тогда будет добавлено другое меню. Я хочу построить этот проект с использованием JSP / Servlet. При щелчке пользователя по любому меню общая страница не будет перезагружена, будет изменена только некоторая часть, где отображается подробное описание этого меню.

Ответы [ 2 ]

1 голос
/ 17 февраля 2012

Вы можете просто использовать JSTL для программного управления потоком в выводе HTML JSP. Вы можете проверить роль текущего пользователя, вошедшего в систему, по HttpServletRequest#isUserInRole(), что возвращает boolean.

Поскольку вы используете Servlet 3.0, вы также сможете воспользоваться новой поддержкой EL 2.2 для вызова методов с аргументами. Итак, это должно сделать:

<c:if test="${pageContext.request.isUserInRole('admin')}">
    <p>This will be displayed only if the user has the role "admin".</p>
</c:if>
<c:if test="${pageContext.request.isUserInRole('guest')}">
    <p>This will be displayed only if the user has the role "guest".</p>
</c:if>

Смотри также:

0 голосов
/ 16 февраля 2012

Вы можете иметь разные меню на разных jsps, а затем включать эти jsps на основе зарегистрированного пользователя.

Например ...

<%if(userRole.equals("admin")){%>
   <jsp:include page="../menu/admin_menu.jsp" />
<%}%>
<%if(userRole.equals("user")){%>
   <jsp:include page="../menu/user_menu.jsp" />
<%}%>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...