Переписать скриптлет getAttribute () как JSTL в JSP / HTML? - PullRequest
0 голосов
/ 21 ноября 2018

На моей странице JSP есть скриптлет, который получает атрибут "username", переданный из предыдущего serlvet.Скриплет проверяет, был ли установлен атрибут «username», если нет, он запрещает доступ к домашней странице и вместо этого перенаправляет на страницу входа:

<%
    String validUser = (String) session.getAttribute("username");
    if (validUser == null){
    session.setAttribute("errorMsg", "Access Denied:  Please login to access this page");
    session.setAttribute("username", "");
    response.sendRedirect("LoginFormError.jsp");
        }
%>  

Поскольку скриптлеты в коде JSP / HTML не идеальны, как мне это сделать?пойти переписать этот скриптлет как JSTL?

РЕДАКТИРОВАТЬ :

Хорошо, пока вот что у меня есть:

<c:set var="validUser" value='${param.username}' />

<c:if test = "${validUser == null"}   
   <c:set var="errorMsg" value="${'Access Denied:  Please login to access this page'}"/>
   <c:set var="username" value=""/>
   <c:redirect url="LoginFormError.jsp"/>
</c:if>

Правильно ли выполнены getAttribute () и setAttribute ()?

1 Ответ

0 голосов
/ 21 ноября 2018

Рад видеть, что вы делаете это, вы можете использовать jstl/core taglib

<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>

<c:if test="${sessionScope.username == null}">
    <c:redirect url="LoginFormError.jsp" />
</c:if>
...