2

这是一些代码

<% String what = (String)session.getAttribute("BANG"); %>
<c:set var="bang" value="Song" />

我从会话中得到一个字符串,我想将它与 jstl 变量中的字符串进行比较。

我试过一个 if in

<% if() { %> some text <% } %> 

也试过

<c:if test="${va1 == va2}" </c:if>
4

1 回答 1

2

对于初学者,建议停止使用scriptlets,那些<% %>东西。它们不能很好地与 JSTL/EL 一起工作。您应该选择其中一个。由于Scriptlet十年来一直被官方禁止使用,因此停止使用它们是有意义的。


回到您的具体问题,以下脚本

<% String what = (String)session.getAttribute("BANG"); %>

可以在EL中完成如下

${BANG}

所以,这应该为你做:

<c:if test="${BANG == 'Song'}">
    This block will be executed when the session attribute with the name "BANG"
    has the value "Song".
</c:if>

或者,如果你真的需要"Song"一个变量,那么:

<c:set var="bang" value="Song" />
<c:if test="${BANG == bang}">
    This block will be executed when the session attribute with the name "BANG"
    has the same value as the page attribute with the name "bang".
</c:if>

也可以看看:

于 2012-12-04T14:46:20.620 回答