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

时间:2014-12-03 13:41:03

标签: java jquery jsp java-ee jsp-tags

我是JSP开发的新手,我有以下疑问。

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

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

我必须根据输入 Http Session 状态变量的值只显示其中一个div,该变量只能有2个值:好的 KO

我可以这样做:

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

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

有效吗?好吗?或者有更好的方法来完成这项任务? (也许我可以使用JavaScript \ JQuery做这样的事情吗?)

1 个答案:

答案 0 :(得分:4)

使用JSP,正确的方法是使用JSTL标记。谷歌的'jstl教程',并阅读提供的内容。您的示例使用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>