JSTL 遍历数组以不显示内容

JSTL loop through Array to NOT display content

我想在 JSTL 中使用如下所示的“数组”

<c:set var="hideMe" value="${['A','B','C','D']}" scope="application" />

我还有一个名为 ${checkPageName} 的全局 VAR,其中包含我所在的当前页面的名称,因此我可以检查它,作为逻辑的一部分(例如 <c:if test="${checkPageName != hideMe}"> ... </c:if> )

这背后的逻辑是,如果 A, B, C or D 存在,那么我将阻止向用户显示特定信息。

有谁知道我如何遍历 JSTL 数组?

然后逻辑应该决定如果 A, B, C or D 不存在,那么我们向用户显示特定信息。

我试过了;

<c:forEach items="${hideMe}">
    <c:set var="hide" value="true" />
</c:forEach>

<c:if test="${hide != 'true'}">
    <div class="showMe">
        <h1>Hello Sweetie</h1>
    </div>
</c:if>

有人能给我指出正确的方向吗?

更新:我现在已经使用 <c:forTokens> 自行解决了这个问题,请参阅下面的解决方案

最后我想通了;

<c:set var="hideMe" value="false" />

<c:forTokens items="A,B,C,D" delims="," var="excludeDisplay">
    <c:if test="${checkPageName == excludeDisplay}">
        <c:set var="hideMe" value="true" />
    </c:if>
</c:forTokens>

<c:if test="${hideMe == 'false}">
    DO SOMETHING
</c:if>

checkPageName 是一个全局变量,我在我的代码中检查以验证页面名称...

所以我设置了一个名为 hideMe 的默认 VAR,值为 false,然后我使用 forTokens 创建一个名为 excludeDisplay 的 VAR,其值为 A、B、C 或 D。

然后我根据我的全局变量检查这些值,如果它们匹配,则用 true 值覆盖 var hideMe,然后使用它来触发我想要显示的内容。如果 VAR 为假,则显示内容,如果为真,则什么都不做。

我希望这对其他人有所帮助,如果有人需要更多信息,我很乐意详细说明一些更模糊的要点...