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

时间:2010-08-13 12:26:37

标签: java jsp jstl

我需要在JSP中执行按位测试,但在我的生活中不能弄明白如何使用EL。

我想做类似的事情:

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

当然我可以用普通的JSP语法来做到这一点:

<% if ((test & testFor) == testFor) { %>
  <h3>Test Passed</h3>
<% } %>

2 个答案:

答案 0 :(得分:3)

我认为在JSTL(see here

中没有实现按位运算符

您可以实现一个名为bitwiseAnd(int, int)的JSTL函数,并在Java代码中执行按位测试

答案 1 :(得分:2)

JSP EL不支持按位运算符(仅算术运算符,逻辑运算符和关系运算符)。如果要这样做,则需要将操作封装在java类中,并将其公开给JSP。或者,我相信你可以编写一个自定义函数,它看起来与fn: JSTL命名空间中的函数类似,但我不确定如何去做。

相关问题