【问题标题】:Jsp scriplet works while jstl doesn't [duplicate]Jsp scriptlet 工作,而 jstl 不工作[重复]
【发布时间】:2020-07-14 03:43:40
【问题描述】:

我有 scriplet 和 jstl 代码来检查用户的电子邮件是否为root,如果是,则在标题中添加一个 div。 scriplet 代码有效,而 jstl 代码无效。

脚本代码:

    <%
            if (user.getEmail().equals("root"))  {
                %>
        <div class="button logout-button"
             onclick="location.href =
                     '${pageContext.request.contextPath}/initializedatabase'">
            Initialize the database
        </div>
        <%
            }


        %>

jstl代码:

 <c:if test =
          "${sessionScope.user != null} &&
           ${sessionScope.user.getEmail() == 'root'}">
           <div class="button initialize-button"
                onclick="location.href='${pageContext.request.contextPath}/initializeddatabase'">
               Initialize Database
           </div>
        </c:if>

【问题讨论】:

    标签: jsp jstl el


    【解决方案1】:

    试试

    <c:if test =
          "${sessionScope.user != null} &&
           ${sessionScope.user.getEmail() == 'root'}">
    

    <c:if test =
          "${sessionScope.user ne null && sessionScope.user.getEmail() eq 'root'}">
    

    【讨论】:

    • 不,那没用; (
    • 是出错还是什么也没有?如果错误显示错误。如果没有显示您的控制器来源;;