Как мне выполнить побитовую логику в операторах JSTL if? - PullRequest
2 голосов
/ 13 августа 2010

Мне нужно выполнить побитовый тест в JSP, но я не могу понять, как это сделать с EL.

Я хочу сделать что-то вроде:

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

Конечно, я могу сделать это с обычным синтаксисом JSP:

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

Ответы [ 2 ]

3 голосов
/ 13 августа 2010

Я думаю, что побитовые операторы не реализованы в JSTL ( см. Здесь )

Вы можете реализовать функцию JSTL с именем bitwiseAnd(int, int) и выполнить побитовый тест в коде Java

2 голосов
/ 13 августа 2010

JSP EL не поддерживает побитовые операторы (только арифметические, логические и реляционные операторы).Если вы хотите сделать это, вам нужно будет инкапсулировать операции в java-классе и представить это JSP.Кроме того, я полагаю, что вы можете написать пользовательскую функцию, которая выглядела бы так же, как в пространстве имен fn: JSTL, но я не знаю, как это сделать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...