Как показать различный веб-контент в зависимости от <c: if> с переменной на странице jsp

0

Я пытаюсь показать другой веб-контент на странице jsp в зависимости от уровня доступа пользователя (администратора или пользователя). У меня есть сеанс с атрибутом "доступ", который равен 1, если пользователь является администратором, иначе = 2; это работает, потому что я вижу уровень доступа на странице

<%out.print("access = "+session.getAttribute("access"));%>

Я попробовал <c:if> использовать var TEST таким образом:

<%String test = session.getAttribute("access").toString();%>
<%out.print("test = "+test);%>

С

  <c:if test="1">
          <p>Content Admin (table for example)</p>
    <c:else>
    .....
    </c:else>
</c:if>

он никогда не показывает, что вы положили в инструкции If на странице. Есть ли решение для этого? Спасибо.

Теги:
jsp
if-statement

1 ответ

1

Вы действительно должны прочитать документацию о том, что вы используете. Нет тега c: else. Этого не существует и никогда не существовало.

<c:if test="1"> 

будет проверяться, если 1 истинно. Вы этого не хотите. Вы хотите проверить, равен ли access равным 1.

Так что вам нужно

<c:choose>
    <c:when test="${access == 1}">
        ...
    </c:when>
    <c:otherwise>
        ...
    </c:otherwise>
</c:choose>
  • 0
    Это тело вашего решения <body> <% out.print ("access =" + session.getAttribute ("access"));%> <% String accesso = session.getAttribute ("access"). ToString () ;%> <% out.print ("access =" + access);%> <c: выбрать> <c: when test = "$ {access == 2}"> <select> .... </ select > </ c: when> <c: в противном случае> <a href='logout.jsp'> LogOut </a> </ c: в противном случае> </ c: выбрать>, но он по-прежнему не показывает контент, который должен быть показано. Это ничего не показывает.
  • 0
    Ваш вопрос говорит, что атрибут называется доступом. Ваш комментарий говорит, что он называется u_accesso. Прими решение. Это не может ничего показать. Другой показывает, что находится в c: когда, или показывает, что находится внутри c: в противном случае.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню