Я пытаюсь показать другой веб-контент на странице 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 на странице. Есть ли решение для этого? Спасибо.
Вы действительно должны прочитать документацию о том, что вы используете. Нет тега c: else. Этого не существует и никогда не существовало.
<c:if test="1">
будет проверяться, если 1
истинно. Вы этого не хотите. Вы хотите проверить, равен ли access
равным 1.
Так что вам нужно
<c:choose>
<c:when test="${access == 1}">
...
</c:when>
<c:otherwise>
...
</c:otherwise>
</c:choose>