Java 如何在JSP页面中有条件地显示一个div的内容而不是另一个div的内容?
我是JSP开发的新手,我有以下疑问 如果进入JSP页面,我有2个div,如下所示:Java 如何在JSP页面中有条件地显示一个div的内容而不是另一个div的内容?,java,jquery,jsp,jakarta-ee,jsp-tags,Java,Jquery,Jsp,Jakarta Ee,Jsp Tags,我是JSP开发的新手,我有以下疑问 如果进入JSP页面,我有2个div,如下所示: <div id="succes"> <p>SUCCESS</p> </div> <div id="failure"> <p>FAILURE</p> </div> <% if(request.getSession(false).getAttribute("status")=="OK"> {
<div id="succes">
<p>SUCCESS</p>
</div>
<div id="failure">
<p>FAILURE</p>
</div>
<% if(request.getSession(false).getAttribute("status")=="OK"> { %>
<div id="succes">
<p>SUCCESS</p>
</div>
<% } %>
<% else { %>
<div id="failure">
<p>FAILURE</p>
</div>
<% } %>
成功
失败
我必须根据放入Http会话的status变量的值,只显示其中一个div,该变量只能有两个值:OK和KO
我可以这样做吗:
<div id="succes">
<p>SUCCESS</p>
</div>
<div id="failure">
<p>FAILURE</p>
</div>
<% if(request.getSession(false).getAttribute("status")=="OK"> { %>
<div id="succes">
<p>SUCCESS</p>
</div>
<% } %>
<% else { %>
<div id="failure">
<p>FAILURE</p>
</div>
<% } %>
{%>
成功
失败
它可以工作吗?可以吗?或者有更好的方法来完成这个任务?(也许我可以使用JavaScript\JQuery做类似的事情?)对于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>
迎宾
欢迎真正的用户
一切正常只要使用equals()
比较字符串。总有比使用JSP更好的方法。你可以选择一些简单的方法,比如。但是如果你不喜欢使用jquery,也有一种方法可以在js中执行。@sfat你能给我举一个jquery的例子,根据会话中变量的值来选择显示什么div吗?看起来可以还是可以可以研究如何使用JSTL命名空间…将条件与JSTL一起使用往往比使用scriptlet更容易阅读。这是一个非常简单的示例,但您可以使用css正确设置DIV的样式,这意味着您实际创建了id=“%request.getSession(false).getAttribute(“status”)%”%request.getSession(false).getAttribute(“消息”)%