一尘不染

如何在JSP页面中有条件地显示div而不是另一个div的内容?

jsp

我在JSP开发中是个新手,我有以下疑问。

如果进入JSP页面,我将有2个 div, 如下所示:

<div id="succes">
    <p>SUCCESS</p>
</div>
<div id="failure">
    <p>FAILURE</p>
</div>

并且我必须根据放入 Http Session* 中的 状态 变量的值仅显示这些div之一,该 状态 变量 只能具有2个值:
OKKO
*

我可以做这样的事情:

<% if(request.getSession(false).getAttribute("status")=="OK"> { %>
    <div id="succes">
        <p>SUCCESS</p>
    </div>
<% } %>

<% else { %>
    <div id="failure">
        <p>FAILURE</p>
    </div>
<% } %>

有用?可以吗 还是有一些更好的方法来完成此任务?(也许我可以使用JavaScript \ JQuery做类似的事情吗?)


阅读 784

收藏
2020-06-08

共1个答案

一尘不染

对于JSP,正确的方法是使用JSTL标签。Google for’jstl
tutorial’并阅读提供的内容。您的示例使用scriptlet。尽管那也可以做到,但不是正确的方法。下面是一个示例:

<c:choose>
    <c:when test= "${request.getSession().getAttribute("userName").equals("Guest")}">
        <div> Welcome Guest</div>
    </c:when>
    <c:otherwise>
        <div> Welcome Real User</div>
    </c:otherwise>
</c:choose>
2020-06-08