代码之家  ›  专栏  ›  技术社区  ›  Brett Ryan

如何在JSTL if语句中执行位逻辑?

  •  2
  • Brett Ryan  · 技术社区  · 14 年前

    我需要在JSP中执行一个位测试,但在我的一生中,我无法弄清楚如何使用EL。

    我想做如下的事情:

    <c:if test="${(test & testFor) == testFor}">
      <h3>Test Passed</h3>
    </c:if>
    

    当然,我可以使用普通的JSP语法:

    <% if ((test & testFor) == testFor) { %>
      <h3>Test Passed</h3>
    <% } %>
    
    2 回复  |  直到 14 年前
        1
  •  3
  •   Bozho    14 年前

    我认为在JSTL中没有实现位运算符( see here )

    您可以实现一个JSTL函数,调用 bitwiseAnd(int, int) 并在爪哇代码中执行按位测试

        2
  •  2
  •   skaffman    14 年前

    JSPEL不支持位运算符(只支持算术、逻辑和关系运算符)。如果你想这样做,你需要将操作封装在Java类中,并将其暴露给JSP。另外,我相信您可以编写一个自定义函数,该函数与 fn: JSTL名称空间,但我不知道该怎么做。