1

有没有办法在 JSP 2.0 / J2EE 1.4 中使用类似延迟 EL 的东西?这个想法是将测试传递给标记文件,并让它根据表达式的值显示(或不显示)列表中的项目。基本上,我想做这样的事情:

JSP:

<x:myTag items="${myCollection}" test="${item.visible}"/>

myTag.tag

<c:forEach var="item" items="${collection}">
    <c:if test="${test}">
        ${item}
    </c:if>
</c:forEach>

升级我们的 JSP 容器不是一种选择。有任何想法吗?

更新:

我尝试对 JSP 片段执行此操作,但片段中的 EL 在 JSP 中被评估一次,而不是在标记中每次迭代一次。

4

1 回答 1

1

您应该能够使用jsp 片段来做到这一点。我相信这不是您会喜欢的极其优雅的解决方案,但它确实允许将表达式的执行推迟到标签内。

编辑:您可以使用“name-given”设置检查变量。

(我会欣然承认,大约 2 年前我做类似你想做的事情。从那以后我就没有碰过它。我记得我觉得它很神秘)

于 2009-02-10T21:01:44.767 回答