web-dev-qa-db-ja.com

JSTLを使用して、Java If-Elseブロックと同等のことを行うにはどうすればよいですか?

簡単なJSTLの質問。私は通常、jspページでスクリプトレットを使用しますが、ページ内の他の何かが原因で競合があります。 JSTLを使用してこのようなことができることを理解していますが、私はそれをよく知りません。 Javaこれを使用してコーディングするものは次のとおりです。

if (var1.equalsIgnoreCase(var2)) { 

some html stuff

} else {

more html

}

JSTLで使用するために、これを変換および翻訳できますか?

事前に感謝します。質問がある場合はお知らせください。

23
Dan

これには _<c:choose>_ を使用できます。 equalsIgnoreCase()は、両側を fn:toLowerCase() で下げることで実行できます。

_<c:choose>
    <c:when test="${fn:toLowerCase(var1) == fn:toLowerCase(var2)}">
        Both are equal.
    </c:when>
    <c:otherwise>
        Both are not equal.
    </c:otherwise>
</c:choose>
_

または、_web.xml_宣言された適合サーブレット3.0でサーブレット3.0コンテナ(Tomcat 7、Glassfish 3、JBoss AS 6など)をターゲットにしている場合、equalsIgnoreCase()メソッドを呼び出すことができます。

_<c:choose>
    <c:when test="${var1.equalsIgnoreCase(var2)}">
        Both are equal.
    </c:when>
    <c:otherwise>
        Both are not equal.
    </c:otherwise>
</c:choose>
_
56
BalusC
<c:if test=${var1 == var2)}>
</c:if>

他にJSTLはありません。複数のIfを実行する必要があります(私は知っています)

これを一番上に追加する必要があります

<%@ taglib uri="http://Java.Sun.com/jstl/core" prefix="c" %>
2
RMT