如何比较 scriptlet 和 JSTL 之间的变量?

How do I compare variables between a scriptlet and JSTL?

我有 JSP 形式的代码

<%
    int count = 1;
    request.setAttribute("count", count);
%>
<c:set var="max" scope="request" value="${100}" />
<c:if test="${request.getAttribute('count') < max}" >
  ...
</c:if>

也就是说,test 将 scriptlet 中定义的变量与使用 <c:set> 定义的变量进行比较。代码失败并在 test 条件行抛出错误。我已经尝试了各种变体,但我在网上找不到任何内容可以清楚地解释 scriptlet 和 JSP EL 之间的交互,让我弄清楚我应该在这里做什么。

如何使用 JSTL 将 scriptlet 变量与 JSTL 变量进行比较?

编辑抛出的错误是

org.apache.jasper.JasperException: An exception occurred processing JSP page

我认为这听起来毫无用处,但以防万一它对任何人都有意义。

您可以直接访问计数变量,因为您已经在请求范围内设置了它:

test="${count < max}"test="${requestScope.count < max}"