如何使用JSTL执行等效的java If-Else块?

时间:2011-06-02 19:17:33

标签: java jstl

快速的JSTL问题。我通常在我的jsp页面中使用scriptlet,但由于我的页面中的其他一些内容而产生冲突。我知道你可以使用JSTL做这样的事情,虽然我不熟悉它。以下是我将使用java编写的代码:

if (var1.equalsIgnoreCase(var2)) { 

some html stuff

} else {

more html

}

那么这可以转换并翻译为与JSTL一起使用吗?

提前致谢,如果您有任何疑问,请告诉我。

2 个答案:

答案 0 :(得分:56)

您可以使用<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声明符合Servlet 3.0的目标定位Servlet 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>

答案 1 :(得分:2)

<c:if test=${var1 == var2)}>
</c:if>

没有其他是JSTL你必须做多个If(我知道很糟糕)

必须在顶部添加

<%@ taglib uri="http://java.sun.com/jstl/core" prefix="c" %>